【问题标题】:JSP / servlet combination doesn’t submit form on Enter if only form element is a submit button如果只有表单元素是提交按钮,JSP / servlet 组合不会在 Enter 上提交表单
【发布时间】:2010-03-04 09:33:28
【问题描述】:

这是我上一个问题的后续:

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

【问题讨论】:

    标签: java html internet-explorer jsp


    【解决方案1】:

    不幸的是,您应该在表单中至少有一个可聚焦的输入元素才能使其工作,并且只有在输入具有焦点时才可以。如果您没有任何输入元素,那么除了让 Javascript 侦听正文中的 enter 键之外,没有其他方法可以解决此问题。

    <body onkeypress="if (event.keyCode == 13) document.formname.confirm.click();">
    

    其中formname 是父&lt;form&gt; 元素的name 属性的值。

    请注意,我使用document.formname.confirm.click() 而不是document.formname.submit(),因为否则IE 不会将按钮的名称=值对发送到服务器端。

    唯一没有 Javascript 的方法是让用户 tab 到按钮,然后按 enter。顺便说一句,这一切都与使用的浏览器无关,因此不是特定于 IE 的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-04
      • 1970-01-01
      • 1970-01-01
      • 2018-01-19
      • 2013-01-12
      • 1970-01-01
      • 1970-01-01
      • 2014-03-23
      相关资源
      最近更新 更多