IE表单提交空,但使用type =复选框

时间:2015-08-21 14:23:44

标签: asp.net forms asp.net-mvc-4 internet-explorer razor

我已经查看了几十个类似的问题,但大多数解决方案都实现了隐藏的输入或广泛的javascript,但没有人回答为什么一种输入有效,另一种输入无效。

此问题特定于Internet Explorer,适用于Chrome和FF。

这是我创建表单的代码:

@foreach (hello.Data.Models.Button btn in Model.Content.Buttons.OrderBy(b => b.Action))
    {
        if (btn.Action == "Close Message" && (Model.SurveyAuditExists == true || Model.SurveyContent == null))
        {                                
             <li class="response-button-item">
                 <input type="submit" class="response-button" name="@btn.Text" id="@btn.Text" onclick="submitForm.submit();" value="@hello.Biz.Helpers.ExtensionMethods.TrimString(btn.Text, new char[] { '&' })" />                                                                
             </li>
         }

以下是生成HTML的示例:

<form id="submitForm" action="/Go/Here/39354" method="post">  
      <ul id="response-button-list">             
          <li class="response-button-item">
              <input name="&amp;Agree" class="response-button" id="&amp;Agree" onclick="submitForm.submit();" type="submit" value="Agree">                                                                
          </li>
          <li class="response-button-item">
               <input name="&amp;Disagree" class="response-button" id="&amp;Disagree" onclick="submitForm.submit();" type="submit" value="Disagree">                                                                
          </li>
      </ul>                   

因此,当我点击Chrome / FF上的同意或不同意时,它会返回用户是否同意或不同意但在IE中它返回空白并导致错误,因为我的控制器中FormCollection和AllKeys为空。

将输入类型更改为复选框并单击该框,可以在IE中正确提交。

我还没有在页面中嵌套表单。

任何帮助将不胜感激!

0 个答案:

没有答案