2016-10-04 70 views
0

我期待创建一些非常简单的jQuery验证来检查输入字段是否有字符串。非常简单的验证功能不工作表格

为了简化我的问题,我创建了一个验证函数,使返回false的表单失效。然后,当表单被提交时,它会在进入一些AJAX代码之前运行验证检查。

就目前而言,尽管validate_form()函数返回false,AJAX代码仍会执行。任何人都可以详细说明这一点?

function validate_form() { 
    return false; 
} 

$('form').submit(function() { 

    // Run validation function 
    validate_form(); 

    // If returns true, execute the following code... 

}) 
+0

'validate_form()''回报和FALSE' ...没有任何反应。因为它的字面意思是设定为不做任何有价值的事情。 – vlaz

+0

您需要将其设置为值,例如:var valid = validate_form();然后如果(有效).... – Imphusius

回答

0

您需要返回的值:

return validate_form(); 
0

添加参数 “E” 的功能:

$('form').submit(function(e) { 

再试试这个当验证返回false:

e.preventDefault(); // Cancel the submission 
return false; // Exit the function 
0

你可以这样做这个:

$('form').submit(function() { 

    // Run validation function 
    if(!validate_form()){ 
     return false; 
    } 

    // If returns true, execute the following code... 

}) 
0

你在找这样的吗?

这个问题似乎不完全

function validate_form(input_string){ 
    if(typeof input_string === 'string' || input_string instanceof String){ 
     return true; 
    } 
    else{ 
     return false; 
    } 
} 

$('form').submit(function(){ 
    var input_string = $("#yourinputID").val(); 
    var has_string = validate_form(input_string); 

    if(has_string === true){ 
     //DO AJAX REQUEST 
    } 
    else{ 
     //DO NOT DO AJAX REQUEST 
    } 
});