通过按IE6上的回车键提交按钮名称

时间:2011-06-06 08:44:01

标签: javascript html internet-explorer-6

我在IE6上遇到问题。

我有一个包含多个表单的页面,每个表单都包含一个文本框和一个提交按钮。当我使用.NET MVC时,我需要提交按钮的名称来执行正确的Action。当我点击“Enter”键时,我的行为与Firefox或Chrome上的点击操作相同(发送了Field和ButtonName),但在IE6中没有,我只有发送的字段。

那么当我在IE6上点击“Enter”键时如何发送按钮的名称?

tl / dr: 我需要发送POST这个

Field=foo&Search=
单击IE6上的“Enter”键,而不仅仅是

Field=foo

Chrome和Firefox通过点击或点击“Enter”

运行良好

感谢您的帮助:)

[编辑]添加一个例子:

源代码

   <!-- gestion type operation -->
<fieldset>
    <legend>Interface de gestion des Types d'Opérations</legend>
    <% Html.BeginForm("TypeOperation", "Administration", FormMethod.Post); %>
    <%= Html.EditorFor(m => m.TypeOperationField)%>
    <input type="submit" id="RechercheTypeOperation" name="RechercheTypeOperation" value=""
        class="loupe" />
    <% Html.RenderPartial("ListeTypeOperation", Model); %>
    <% Html.EndForm(); %>
</fieldset>
<!-- gestion type operation -->

非常简单,每次我需要页面中的搜索文本框+提交按钮时,都会重复此表单结构。 在生成代码时,表单可以很好地打开和关闭。

生成代码

    <!-- gestion type operation -->
<fieldset>
  <legend>Interface de gestion des Types d'Op&#233;rations</legend>
  <form action="/Administration/TypeOperation" id="form3"
  method="post">
    <input class="text-box single-line" id="TypeOperationField"
    name="TypeOperationField" type="text" value="" />
    <input type="submit" id="RechercheTypeOperation"
    name="RechercheTypeOperation" value="" class="loupe" />
    <div>
      <table class="grid">
        <thead>
          <tr>
            <th></th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td></td>
          </tr>
        </tbody>
      </table>
    </div>
  </form>
  <script type="text/javascript">//
<![CDATA[
if (!window.mvcClientValidationMetadata) { window.mvcClientValidationMetadata = []; }
window.mvcClientValidationMetadata.push({"Fields":[],"FormId":"form3","ReplaceValidationSummary":false});
//]]>
</script>
</fieldset>
<!-- gestion type operation -->

[编辑2]我在表单中添加了这一行

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

它正在发挥作用。

1 个答案:

答案 0 :(得分:1)

我认为,您不应该依赖提交按钮的名称,而是使用您想要的<input type="hidden"创建name(例如search)。

提交按钮名称和任何其他输入字段的名称之间没有区别,除了submit输入字段实际上不是字段,因此总会出现一些工件。