【发布时间】:2011-05-02 11:53:32
【问题描述】:
我在同一页面上有多个表单: 我想知道当用户按下“返回键盘键”时是否有任何方法可以提交正确的表单?
谢谢
【问题讨论】:
标签: html forms keyboard submit return
我在同一页面上有多个表单: 我想知道当用户按下“返回键盘键”时是否有任何方法可以提交正确的表单?
谢谢
【问题讨论】:
标签: html forms keyboard submit return
这个怎么样:
<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 事件。
【讨论】:
检查哪个元素具有焦点。检查哪个表格是他的父母。执行提交。
document.onkeypress = function() {
var element = activeElement.parentNode;
while(element.nodeType != /form/i) {
element = element.parentNode;
}
element.submit();
}
【讨论】:
我认为正确的形式是指用户正在处理的形式!
嗯,这不是最干净的方式,但如果您真的想以这种方式工作,您可以指定表单边界,并且您可以在用户滚动从一个表单到另一个表单时将焦点设置到适当的提交按钮。
使用更简洁的版本,您可以促使用户选择适当的选项并引导他们在单个表单上工作(一旦您获得有关用户将要工作的足够信息,可能会隐藏不相关的表单)
【讨论】: