如何设置输入哪个提交按钮?

时间:2011-02-23 05:39:18

标签: html forms submit

我有一个带有几个提交按钮的表单。我希望我的最后一个按钮处理提交,而不是HTML5 spec'ed第一个按钮。

我无法在此时更改html并且相当确定这需要JS。但是当我给它一个镜头时,我遇到了令人讨厌的循环或死代码,试图阻止默认行为然后解雇我的其他按钮。

以前有人这样做过吗?如果需要,jQuery就在页面上。

谢谢, 丹尼斯

2 个答案:

答案 0 :(得分:3)

既然你提到了jQuery:)

如果您只想在用户按下回车键时提交表单,那么

$(function() {
    $('body').keypress(function(e) {
        if (e.which == 13) {
            e.preventDefault();
            $('#myForm').submit();
       }
    });
});

但是,如果您有不同的行为/形式,具体取决于单击了哪个按钮,并且您希望输入键触发最后一个按钮的单击事件,那么

$(function() {
    $('body').keypress(function(e) {
        if (e.which == 13) {
            e.preventDefault();
            $('input[type="submit"]:last').click();
        }
    });
});

答案 1 :(得分:1)

您只需将input元素的type属性更改为button,而不是希望它提交表单。 (我知道你说你不能真正改变HTML,但这是 最好的方式)

<input type="button" name="mybutton" class="submit-button" value="I wont submit!" />

jQuery代码:

$('.submit-button').click(function() {
  $('#secret-value-field').val($(this).val());
  $(this).parents('form').submit();
});

或类似的东西。