为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery:如何在表单提交时单击哪个按钮?

jQuery:如何在表单提交时单击哪个按钮?

忽然笑 2019-07-13 09:28:38
jQuery:如何在表单提交时单击哪个按钮?我有一个.submit()事件设置为表单提交。我在页面上也有多个表单,但是这里只有一个在这个例子中。我想知道点击了哪个提交按钮而没有应用.click()事件对每个事件都有影响。下面是设置:<html><head>   <title>jQuery research: forms</title>   <script type='text/javascript' src='../jquery-1.5.2.min.js'></script>   <script type='text/javascript' language='javascript'>       $(document).ready(function(){           $('form[name="testform"]').submit( function(event){ process_form_submission(event); } );       });       function process_form_submission( event ) {           event.preventDefault();           //var target = $(event.target);           var me = event.currentTarget;           var data = me.data.value;           var which_button = '?';       // <-- this is what I want to know           alert( 'data: ' + data + ', button: ' + which_button );       }   </script></head><body><h2>Here's my form:</h2><form action='nothing' method='post' name='testform'>   <input type='hidden' name='data' value='blahdatayadda' />   <input type='submit' name='name1' value='value1' />   <input type='submit' name='name2' value='value2' /></form></body></html>小提琴活生生的例子除了在每个按钮上应用.click()事件之外,是否有一种方法可以确定单击了哪个提交按钮?
查看完整描述

3 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

这对我有用:

$("form").submit(function() {
   // Print the value of the button that was clicked
   console.log($(document.activeElement).val());}


查看完整回答
反对 回复 2019-07-13
?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

我问了同样的问题:如何从表单提交事件中获得导致提交的按钮?

最后我想出了一个解决方案,效果很好:

$(document).ready(function() {
    $("form").submit(function() { 
        var val = $("input[type=submit][clicked=true]").val();
        // DO WORK
    });
    $("form input[type=submit]").click(function() {
        $("input[type=submit]", $(this).parents("form")).removeAttr("clicked");
        $(this).attr("clicked", "true");
    });});

在多个表单的情况下,您可能需要稍微调整一下,但它仍然应该适用。


查看完整回答
反对 回复 2019-07-13
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

我发现这起作用了。

$(document).ready(function() {
    $( "form" ).submit(function () {
        // Get the submit button element
        var btn = $(this).find("input[type=submit]:focus" );
    });}


查看完整回答
反对 回复 2019-07-13
  • 3 回答
  • 0 关注
  • 303 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信