在提交时指定按钮

时间:2013-03-20 15:00:52

标签: jquery

我有一个像这样的输入处理程序:

$('.submit-on-enter').keydown(function (e) {
  if (e.keyCode == 13) {
    var id = $(this).attr('id');
    $('input[type=submit][for=' + id + ']').click();
  }
});

这是一个包含多个按钮的表单。我遇到的问题是,当表单到达服务器时,第一个按钮就在那里而不是“点击”按钮。我已经验证了上面处理程序中的id是预期的id。

要清楚,我正在检查按钮服务器端是否存在name属性,以确定单击了哪个按钮。无论如何,页面上第一个按钮的名称始终存在。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这是解决方案,请注意事件的变化。 keydown似乎不允许在chrome中停止表单提交事件。

$('.submit-on-enter').keypress(function (e) {
  if (e.keyCode == 13) {
    e.preventDefault();
    var id = $(this).attr('id');
    var name = $('input[type=submit][for=' + id + ']').attr('name');
    $('input[type=submit][for=' + id + ']').click();
  }
});