返回键:如何聚焦正确的表单

时间:2010-10-29 15:43:33

标签: html forms keyboard submit return

我在同一页面上有多个表单: 我想知道当用户按“返回键盘键”时是否有任何方法可以提交正确的表格?

由于

3 个答案:

答案 0 :(得分:1)

这个怎么样:

<form id="form1">
    <input type="text" />
</form>
<form id="form2">
    <input type="text" />
</form>

<script type="text/javascript">
    for (var i = 0; i < document.forms.length; i++) {
        document.forms[i].onkeypress = function(e) {
            e = e || window.event;
            if (e.keyCode == 13)
                this.submit();
        }
    }
</script>

基本上循环遍历每个表单,为每个检查输入(keycode == 13)的onkeypress事件连接并在该表单上调用submit。

答案 1 :(得分:1)

我认为正确的形式是指用户正在处理的形式!

这不是最干净的方式,但如果您真的想以这种方式工作,您可以指定表单边界,并且只要用户滚动从一个表单传递到另一个表单,您就可以将焦点设置为相应的提交按钮。

使用neater版本,您可以驱动用户选择适当的选项并引导他们在单个表单上工作(一旦获得有关用户将要使用的信息的足够信息,可能会隐藏不相关的表单)

答案 2 :(得分:0)

检查哪个元素具有焦点。检查哪个表格是他的父母。执行提交。

document.onkeypress = function() {

    var element = activeElement.parentNode;

    while(element.nodeType != /form/i) {
        element = element.parentNode;
    }

    element.submit();
}