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

IE中的提交按钮行为

  •  1
  • awrigley  · 技术社区  · 15 年前

    基类WizardController中的代码查看Next submit按钮是否为null,如下所示:

            protected string NextButton 
            {
                get 
                { 
                    return ControllerContext.HttpContext.Request.Params["NextButton"];Nex
                }
            }
    

    但是,尽管表单提交,除非用户用鼠标显式单击按钮,否则此属性返回null。

    编辑以指定精确的问题:

    只有当HTML表单中只有一个文本输入控件呈现给浏览器时,才会出现问题。

    结束编辑

    2 回复  |  直到 15 年前
        1
  •  2
  •   awrigley    15 年前

    我终于找到了我的问题的解释:

    这似乎是IE中的一个bug,如果呈现的HTML表单中有一个文本输入,那么IE将无法正确提交表单。问题描述(简要)如下:

    Form Submit via Enter Key when using IE

    在上面的链接中,没有描述为什么会出现错误,或者是因为什么版本的IE,所以一个全面的解决方案更好。

    本文建议的解决方法是添加一个css隐藏文本输入(带有IE的条件):

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

    这对我有用,所以问题解决了。

    包括以下内容来记录我所经历的问题:

    上面的文章指出的是,只有当只有一个文本输入控件时,才会看到这种行为。例如,单个复选框不会导致问题。

    我希望这个文件充分记录了这个问题。。。总有一天微软会纠正这个错误。

        2
  •  1
  •   Matthew Smith    15 年前

    一个简单的解决方法可能是使用隐藏的表单元素并依赖于它而不是按钮。

    <input type='hidden' name='action' value='next' />
    

    推荐文章