我知道这个问题听起来很像其他一些问题,但我发誓我无法在任何地方找到合适的解决方案.我有一个具有多个提交按钮的旧表单.如果单击一个,我需要进行一些客户端验证并可能停止提交.如果单击另一个,我不需要进行此验证.
我发现如果我创建一个.submit()处理程序,我似乎无法访问实际点击的按钮.另一方面,如果我捕获我需要担心的按钮的.click()事件,那么我无法阻止表单通过.preventDefault()(或.stopImmediatePropagation())提交.
这是尝试使用按钮.click()处理程序的代码的最新迭代:
$('#nextButton').click( function( e ) { e.preventDefault(); // The form submits anyway (which kind of makes sense) // return false also doesn't prevent the submission // If any session question is unanswered,abort /* $('#registrants input:text[id$="Answer"]').each( function( i,input ) { if( $.trim( $(input).val() ) == '' ) { submit = false; } });*/ });
我在这里想念的是什么?必须有一种方法可以做到这一点,看起来它应该相当简单,但如果我有任何运气,我会被诅咒.
谢谢.
解决方法
也许这有助于:
http://geekswithblogs.net/renso/archive/2009/09/09/intercept-a-form-submit-with-jquery-and-prevent-or-allow.aspx
http://geekswithblogs.net/renso/archive/2009/09/09/intercept-a-form-submit-with-jquery-and-prevent-or-allow.aspx
基本上它说的是检查表单submit()处理程序中的按钮ID.