如果只有表单元素是提交按钮,则JSP / servlet组合不会在Enter上提交表单

时间:2010-03-04 00:51:58

标签: java html internet-explorer jsp

这是我之前提出的问题:

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键提交吗?

1 个答案:

答案 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特定的。