2012-04-04 58 views
0

我有在單獨的對話框中打開一個Razor視圖2種形式。的形式使用jQuery後提交..MVC在單一視圖多種形式不工作

第一種形式完美的作品,但第二種形式的心不是在所有公認的,當我嘗試serializr數據則返回一個空字符串。下面

代碼:

@using (Html.BeginForm("SaveElectricReading", "Store", FormMethod.Post, new { id = "frmSaveElectricReading" })) 
{ 
    <div id="electricDialog" style="display: none;" title="Electric Readings"> 
     <p> 
      Please ensure the electric readings have been entered! 
     </p> 
     <table width="100%"> 
      <tr> 
       <th> 
        Serial: 
       </th> 
      </tr> 
      <tr> 
       <td> 
        <input type="text" name="Serial" /> 
       </td> 
      </tr> 
      <tr> 
       <th> 
        Reading: 
       </th> 
      </tr> 
      <tr> 
       <td> 
        <input type="text" name="Reading" /> 
       </td> 
      </tr> 
      <tr> 
       <th> 
        Comment: 
       </th> 
      </tr> 
      <tr> 
       <td> 
        <div class="textwrapper"> 
         <textarea rows="5" cols="10" name="Comment"></textarea> 
        </div> 
       </td> 
      </tr> 
     </table> 
    </div> 
} 

@using (Html.BeginForm("SaveWaterReading", "Store", FormMethod.Post, new { id = "myform" })) 
{ 
    <div id="waterDialog" style="display: none;" title="Water Readings"> 
     <p> 
      Please ensure the water readings have been entered! 
     </p> 
     <table width="100%"> 
      <tr> 
       <th> 
        Serial: 
       </th> 
      </tr> 
      <tr> 
       <td> 
        <input type="text" name="WaterSerial" /> 
       </td> 
      </tr> 
      <tr> 
       <th> 
        Reading: 
       </th> 
      </tr> 
      <tr> 
       <td> 
        <input type="text" name="WaterReadingsdfsdf" /> 
       </td> 
      </tr> 
      <tr> 
       <th> 
        Comment: 
       </th> 
      </tr> 
      <tr> 
       <td> 
        <div class="textwrapper"> 
         <textarea rows="5" cols="10" name="WaterComment"></textarea> 
        </div> 
       </td> 
      </tr> 
     </table> 
    </div> 
} 

function showWaterDialog() { 
    var $dialog = $('#waterDialog').dialog({ 
     autoOpen: false, 
     modal: true, 
     width: 400, 
     height: 400, 
     buttons: { 
      Submit: function() { 
       //    $('#frmCreateStore').submit(); 
       var data = $('#frmSaveWaterReading'); 

       $.post("/Store/SaveWaterReading", 
        $("#frmSaveWaterReading").serialize(), 
        function() { 
         $("#waterDialog").dialog("close"); 
        }); 
       //$(this).dialog("close"); 
      }, 
      Cancel: function() { 
       $(this).dialog("close"); 
      } 
     } 
    }); 

    $dialog.dialog('open'); 
} 
+0

id爲第二的應讀** ** frmSaveWaterReading而不是** ** myForm的我使用調試它。 – user1314014 2012-04-05 09:31:24

+0

我還可以看到,第二種形式似乎不具有任何相關的元素呢? document.forms [0]。長度= 3個 document.forms [1]。長度= 0 – user1314014 2012-04-05 09:32:07

回答

1

在用於顯示在它的形式對話框jQuery的功能,我需要的是對話的內容添加到第二個網頁上的表單如下:

$ 。( 「#waterDialog」)母體()appendTo($( 「形式」)當量(1)[0]);