使用带有多个提交按钮的表单中的输入按钮提交表单

时间:2010-11-01 10:24:58

标签: javascript html forms

我有一个带有简单文本字段和多个提交按钮的表单。当用户按下回车键时,我想提交带有特定提交按钮的表单,但看起来表单只是选择了第一个按钮。当用户按下输入时,有没有办法告诉浏览器选择哪个提交按钮?最好没有javascript,但如果这是唯一的解决方案,我会接受它。

编辑:除了拥有多个提交按钮,我别无选择。这是一个遗留应用程序。

4 个答案:

答案 0 :(得分:12)

没有办法。最简单的解决方案是确保表单中的第一个提交按钮是您想要通过 Enter 按钮触发的按钮。

请注意,此提交按钮可以与表单中其他位置的按钮重复,并且不必可见

答案 1 :(得分:2)

您可以使用简单的JS来捕获onkeypress事件:

onkeypress="if ((event.keyCode | event.which) == 13) { document.getElementById('MySubmitButton').click(); return false; }"

只需将其添加到文本框标记中,并将“MySubmitButton”替换为所需提交按钮的ID。

注意:使用ID,而不是名称。

答案 2 :(得分:0)

如果您有以下HTML

<form id="form_one">
    <input type="submit" value="Submit 1" />
</form>
<form id="form_two">
    <input type="submit" value="Submit 2" />
</form>

然后你可以得到一些jQuery如下

$(document).ready(function() {
    $(this).keydown(function(e) {
        if (e.keyCode == '13') {
            $("#form_one").submit();
        }
    });
});

显然,您必须在逻辑中决定提交哪种表单。

另据我所知,如果“form_one”中的控件有焦点并且您点击了输入,它会自动提交该控件包含在其中的表单。

答案 3 :(得分:-1)

你可以在按钮的“onclick”或“onkeypress”事件上定义一个javascript方法,你想从中提交表单。但是你必须定义在javascript函数中发生的过程