0

我有一個用ASP.NET MVC4/Razor編寫的表單。表單發佈在Firefox和Chrome中運行良好,但由於某些原因,在Internet Explorer 10和11中,「提交」按鈕無響應。 (Internet Explorer 9的作品也不錯)。MVC4 Html.BeginForm提交按鈕在Internet Explorer> 9不工作

這是我的看法形式的樣子:

<div class="bla"> 
    <table style="width:100%;"> 
    @using (Html.BeginForm("MyAction","MyController", FormMethod.Post, new  {id="myID"})) 
    { 
     <thead> 
      <tr> 
       <th class="heading highlight">Enter Registration</th> 
       <th> 
        <span style="display: block;"> 
         @Html.EditorFor(model => model.Sign) 
         <input style="margin-left:4px;" type="submit" value="Save" /> 
        </span> 
        <span style="display: block; font-weight: normal;">@(Model.SignDescription)</span> 

       </th> 
      </tr> 
     </thead> 
    } 
    </table> 
</div> 

這是我的控制器:

[HttpPost] 
public ActionResult MyAction(InfoModel infoModel) 
{ 
    if(!string.IsNullOrEmpty(infoModel.Sign)) 
    { 
      //do something 
    } 

    infoModel = LoadModel(); 

    return (indoModel); 
} 

我真的不知道爲什麼會這樣......

THANKs提前!

編輯: 我的形式是在表內,我忘了補充它..

+0

很可能是由於HTML呈現無效而造成的。您的瀏覽器可能處於怪異模式。 –

+0

@TiesonT .:如何指出無效的html。 –

+1

'

...
' –

回答

2

您的標記無效 - 表單元素不能是表元素的子元素。重新排列你的標記,所以@using (Html.BeginForm(將在<th>之內。

+0

是的!這就是問題!...非常感謝你們所有人! – minoyo

0

你不需要寫「myController的」完整的嘗試只是形式上的前綴寫作。

0

另外請確保您的用戶沒有禁用JavaScript。 我花了最近2天試圖找出爲什麼這不適用於IE8,但在其他瀏覽器上很好。我甚至不得不建立一個Windows XP hyper-v安裝,只是爲了嘗試重現問題!