jQuery暂停表单提交

问题描述

| 我已经整理了一个不错的表格,花了我几个小时,并进行了一些漂亮的jQuery焦点验证。 focusout属性附加到onload的输入字段。然后,我通过触发焦点提交事件onsubmit重用验证功能,但是我不知道如何在任何验证功能失败的情况下禁用表单提交。完整示例在这里(jsfiddle) 缩减示例:   addLoadEvent(AttachVal);      函数AttachVal(){
  $(\'input[name=\"FirstName\"]\').focusout(NameTest);
  $(\'input[name=\"LastName\"]\').focusout(NameTest);
  $(\'form[name=\"Register\"]\').submit(SubmitRegForm);
     }      函数SubmitRegForm(){
  $(\'input[name=\"FirstName\"]\').trigger(\'focusout\');
  $(\'input[name=\"LastName\"]\').trigger(\'focusout\');
  alert (\"Submitting\");       
     返回   假;   } 验证功能:
function NameTest(){

var result = true;          
var EnteredValue = $(this).val();
var alphaExp = /^[a-zA-Z ]+$/;

    if (!(EnteredValue.match(alphaExp)))
    {
        var result = \"Invalid\"; 
    }   

    if (result !== true)
    {
        $(this).parent().next().children(\'span.ErrorDescript\').text(result);
    }
    else
    {           
        $(this).parent().next().children(\'span.ErrorDescript\').text(\"\");        
    }
} 我试着像这样在SubmitRegForm函数中附加一个变量:
var FNStat = $(\'input[name=\"FirstName\"]\').trigger(\'focusout\');
目的是检查所有对象并提交是否全部返回true,但这只是返回一个对象。可以从该函数获取响应文本吗?还是有另一种方法可以强制从我的个人验证功能中停止当前正在运行的Submit事件? 与往常一样,任何建议都将不胜感激。 担     

解决方法

这是更新的小提琴。我所做的是在SubmitRegForm()方法的返回中,只是看到了多少个刻度图像可见,如果它为零,则继续提交表单。     ,捕获表单提交的正确方法是这样的:
$(\'#form\').submit(function(e){
    // Unfocus and validation logic here.
    e.preventDefault();
});
e.preventDefault()
将停止提交表格。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...