由于隐藏按钮,Enter不会在IE中提交表单

时间:2010-08-23 09:14:37

标签: javascript internet-explorer autocomplete submit

我有一个带有两个按钮的表单。第一个是使用Javascript隐藏的。

当我在IE中按文本字段输入时,表单不提交。我认为这是因为它选择了第一个按钮作为默认提交按钮,但由于该按钮被隐藏,它不起作用。

我通过在enter keydown Javascript事件上提交表单来解决这个问题。但是,如果用户按Enter键从浏览器的自动完成下拉菜单中选择一个项目,这也会提交表单。

example autocomplete dropdown

如何在不影响自动填充功能的情况下在IE中输入表单?

4 个答案:

答案 0 :(得分:12)

尝试使用以下类隐藏按钮:

.hidden-element {
  width: 0px;
  height: 0px;
  position: absolute;
  top: -99999px;
  left: -99999px;
}

答案 1 :(得分:6)

几年前我们遇到了类似的问题,而AFAIR,我们在表单的开头添加了一个附加按钮,在IE中按下enter时,它始终执行默认的提交操作。通过为它提供1x1透明图像,该按钮可以“几乎隐藏”。

答案 2 :(得分:5)

我用不透明度0修正了它,如:

<input type="submit" style="width: 0px; height: 0px; opacity: 0;" id="submitBtn" name="submitBtn">

答案 3 :(得分:0)

您可以按以下方式添加其他按钮以保留提交按钮功能:

<![CDATA[<!--[if IE]>]]>
                <input type="text" style="display: none;" disabled="disabled" size="1" />
            <![CDATA[<![endif]-->]]>