这是我之前提出的问题:
JSP / servlet / IE combination doesn’t submit form detail on Enter
在表单中,我们有:
<input ... type="submit" name="confirm" value="Confirm"/>
此表单上没有输入字段。此表单显示在工作流程的末尾,实质上是要继续进行的验证。
按下Enter键时,此表单不会提交给IE或Firefox。如果按下“确认”按钮,它将完美地工作。
在回答上一个问题之后,我尝试添加虚拟字段,例如:
<input type="hidden" />
或
<input type="text" style="display: none;" />
但他们没有任何区别。
出于各种原因,我们不希望使用Javascript。
有任何建议让Enter键提交吗?
答案 0 :(得分:2)
不幸的是,您应该在表单中至少有一个可聚焦的输入元素才能使其工作,然后才能在输入具有焦点时使用。如果你没有任何输入元素,那么除了让Javascript听取正文中的输入键之外,别无他法。
<body onkeypress="if (event.keyCode == 13) document.formname.confirm.click();">
其中formname
是父name
元素的<form>
属性的值。
请注意,我使用了document.formname.confirm.click()
而不是document.formname.submit()
,因为否则IE不会将按钮的name = value对发送到服务器端。
唯一无Javascript的方法是让用户 tab 到按钮,然后按输入。无论使用何种浏览器,这都是顺便说一句,因此不是IE特定的。