代码之家  ›  专栏  ›  技术社区  ›  Sjoerd

由于隐藏按钮,在IE中输入不提交表单

  •  9
  • Sjoerd  · 技术社区  · 14 年前

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

    当我在IE的文本字段中按enter键时,表单不会提交。我假设这是因为它选择了第一个按钮作为默认的提交按钮,但由于该按钮是隐藏的,所以无法工作。

    我已经通过在enterkeydownjavascript事件中提交表单解决了这个问题。但是,如果用户按enter键从浏览器的“自动完成”下拉列表中选择一个项目,也会提交表单。

    example autocomplete dropdown

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

    4 回复  |  直到 14 年前
        1
  •  6
  •   Chris Lercher    14 年前

    几年前我们也遇到过类似的问题,而且我们还添加了一个 按钮添加到窗体的开头,当IE中按下enter时,它总是执行默认的提交操作。通过为该按钮提供1x1透明图像,该按钮可以“几乎隐藏”。

        2
  •  12
  •   Alla    9 年前

    .hidden-element {
      width: 0px;
      height: 0px;
      position: absolute;
      top: -99999px;
      left: -99999px;
    }
    
        3
  •  5
  •   Omid    9 年前

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

    <input type="submit" style="width: 0px; height: 0px; opacity: 0;" id="submitBtn" name="submitBtn">
    
        4
  •  0
  •   aces.    12 年前

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

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