在使用jquery验证后正常提交表单

时间:2012-11-22 18:55:10

标签: javascript jquery html forms

我在这里使用jquery.form.js:http://www.malsup.com/jquery/form/。我想在提交之前验证表单输入文本的文本。验证进行到 'search_validate.php'。这部分工作正常。如果验证通过,则表单操作会更改。这也有效。

在更改操作属性后使表单正常提交不起作用。浏览器永远不会进入'/ videos / search /'页面。它保持在同一页面上。我看到'/ videos / search /'页面一遍又一遍地加载Firebug。

<form id="search" method="post" action="">
<input type="text" id="query" />
<input type="image" id="searchmag" src="blah.jpg" ?>
</form>

<script>
$(function(){
  $('#searchmag').click(function(){
    $('#search').attr('action','/search_validate.php');

    $('#search').ajaxForm(function(data, textStatus){
      if ((data.indexOf('letters & numbers only')>-1)) {
      $('#query').css('color','#FF0000').val(data); 

      $("#query").unbind("click").click(function(){
        $('#query').css('color','#848484').val('');
      });
    } else {
      $('#search').attr('action','/videos/search/' + $('#query').val());
      $('#search').submit();
    }
    });
  });
});
</script>

1 个答案:

答案 0 :(得分:5)

这对我来说总是有用的:

$("#myForm").on("submit", function(event) {
    event.preventDefault();

    // Validate form, returning on failure.

    $(this).off("submit");

    this.submit();
});

我希望这有帮助!