验证jquery后提交表单

Dig*_*LLC 10 forms validation jquery form-submit

我有以下表格:

<form id="form" action="comments.php" method="post">
  <ul>
    <li><div class="formbox_titles">Name</div><input type="text" name="name" class="required comm_input" /></li>
    <li><div class="formbox_titles">Email</div><input type="text" name="email" class="required comm_input"/></li>
    <li><div class="formbox_titles">Message</div><textarea name="message" class="required comm_text"></textarea></li>
    <li><input type="submit" value="Submit"></li>
  </ul>
</form>
Run Code Online (Sandbox Code Playgroud)

并遵循JQuery进行表单提交:

target: '#preview', 
  success: function() { 
  $('#formbox').slideUp('fast'); 
}
Run Code Online (Sandbox Code Playgroud)

现在的问题是我还有表单验证JQuery代码

$().ready(function() {
    // validate comment form
    $("#form").validate({ 
    });
});
Run Code Online (Sandbox Code Playgroud)

它们都工作得很好,并且表单会弹出警告,所有三个字段都不能为空,但表单中的日期无论如何都会提交到数据库中.我使用以下代码进行表单验证http://bassistance.de/jquery-plugins/jquery-plugin-validation/所以问题是如何在第二个中添加第一个jquery,所以首先填写必填字段后会执行?

希望有人会帮忙.谢谢.

Abb*_*bas 15

从您的示例中,我不清楚您的页面的控制流程,但是,我假设您正在submit()某处调用该方法.验证表单后,在提交表单之前,请使用该valid()方法检查它的验证.您的代码应如下所示:

$("#form").validate();
if ($('#form').valid())
    $('#form').submit();
Run Code Online (Sandbox Code Playgroud)


Fra*_*ein 15

如果要手动提交表单,则必须绕过jQuery绑定事件.您可以通过以下任一方式执行此操作:

$('#form_id')[0].submit();
Run Code Online (Sandbox Code Playgroud)

要么

$('#form_id').get(0).submit();
Run Code Online (Sandbox Code Playgroud)

[0]或get(0)为您提供DOM对象而不是jQuery对象.


Grr*_*404 4

我对你的验证插件一无所知,但通常你可以使用这种和平的代码

<script>

    $("form").submit(function() {
      if (validationIsTrue()) {
        return true;
      }
      else {
        return false;
      }
    });
</script>
Run Code Online (Sandbox Code Playgroud)

您必须进行验证,然后将 true / false 返回到表单的提交函数。如果插件确实返回 bool 值,您可以尝试如下操作:

$("form").submit(function() {
   return $(this).validate({ .... });
});
Run Code Online (Sandbox Code Playgroud)