jquery - jquery中html表单提交click()、submit()和手动点击的区别

标签 jquery forms submission

我有一个jsp页面如下:

<script type="text/javascript" src="/mywebapp/js/jquery.js"></script>
<script type="text/javascript">         
 $( function() {  
  $('#testform').submit(function(){
   alert('now starting submit');
   return true;
  });

  $("#test1btn").click(function(){
   $('#testform #submit').click();    
  }); 
  $("#test2btn").click(function(){
   $('#testform').submit();    
  }); 
 });    
</script>
<form id="testform" method="post"  action="backend/search_test.do">
<input id="reqpagenr" name="reqpagenr" size="10">
<input type="button" id="test1btn"  value="TestClick"/>
<input type="button" id="test2btn"  value="TestSubmit"/>
<input id="submit" type="submit" value="Go">
</form>

当我手动单击(即使用鼠标)按钮“Go”时,在显示文本“现在开始提交”后提交表单;当点击“TestClick”按钮时,表单提交成功,但没有出现“现在开始提交”的文字;当单击“测试提交”按钮时,出现“现在开始提交”文本,但表单根本没有提交。

与我的预期相反,单击“TestClick”和“TestSubmit”按钮时,这两个按钮的功能与“Go”按钮的功能不同。根据我的理解,点击三个按钮应该做同样的事情,即在出现“现在开始提交”文本后提交表单。那么我的问题是,为什么三个按钮点击的结果不一样?

我使用的是jquery 1.3.2

最佳答案

通过 $('#testform').submit(); 手动设置表单提交时,jQuery 提交事件处理程序似乎被忽略了。

这应该在点击处理程序中起作用:

$('#testform').trigger("submit")

关于jquery - jquery中html表单提交click()、submit()和手动点击的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4744237/

相关文章:

html - 表单值创建一个 URL

iphone - Apple Store 提交中接受的最低 IOS 版本?

javascript - 我想在提交表单后进行验证,但它也在 drupal 表单中使用 jquery 在提交表单之前进行验证

iphone - 4.2 提交App Store : Strange "Whitespace" error from XCode submission validation

JSF 2.0 和多次提交问题

javascript - jQuery 中的 document.elementFromPoint?

javascript - jquery - 对象...没有方法 'css'

jquery - 使用 jquery 触发就绪函数的最短方法

javascript - CSS/Javascript 多 div 翻转类和 id

javascript - 使用 jQuery 选择收到 Change() 事件的表单的提交按钮