【问题标题】:jquery validation and form submitjquery验证和表单提交
【发布时间】:2013-03-05 06:02:23
【问题描述】:

我正在尝试验证表单,然后使用 jquery 提交它。但是提交没有被调用。我不知道出了什么问题。

$('#save_vehicle').click(function(e){
            validate_form(e);
});
// VALIDATION FUNCTION
    function validate_form(e) {
        if($("#manufacturer").val()=="select"){
            e.preventDefault();
            alert('Please Select Manufacturer');
            return false;
        } else if($("#models").val()=="select") {
            e.preventDefault();
            alert('Please Select Model');
            return false;
        }  else {           
            return true;
            $('#frm_add').submit();
        }
    }

*注意:* save_vehicle 是提交按钮 ID。 frm_add 是表单的id。

谁能指出我的错误。提前致谢

【问题讨论】:

  • 提交后你应该返回true吗?
  • 发生这种情况是因为您在调用提交函数之前返回 true。只需从 else 条件中删除 return true
  • 是的。有效。但我很困惑为什么return true 会造成问题?
  • @Roger 如果您在任何地方使用 return 语句..执行不应转到下一行..

标签: javascript jquery jquery-ui validation


【解决方案1】:
   else {     
         $('#frm_add').submit();
        }

不需要返回true。

@Roger 如果您在任何地方使用 return 语句..执行不应该转到下一行..

【讨论】:

    【解决方案2】:

    尝试改变:

    else {           
       return true;
       $('#frm_add').submit(); //will never be called as you returned already above
    }
    

    else {           
       $('#frm_add').submit();
    }
    

    【讨论】:

    • 谢谢。你能解释一下为什么return true 会造成问题吗?
    • @Roger "return" 将阻止 JavaScript 执行脚本的其余部分,所以 "return true;"将避免您的 submit() 调用..
    • 好的。现在我明白了。非常感谢@Sudhir
    猜你喜欢
    • 2021-09-08
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多