2012-05-28 21 views
0

我通過jQuery AJAX發送形式。我不僅想發送formcollection的值,我還想發送隱藏在頁面中的另一個id。形式後使用Ajax和額外的JSON數據

我如何發送表單數據+這個ID?也許有一種方法可以創建一個json對象,並將所有內容都放入其中?

jQuery('#myForm').live('submit',function(event) { 
     $.ajax({ 
      url: 'Url.Action("Create")', 
      type: 'POST',   
      data: $('#myForm').serialize(), 
      success: function(data) { 

      } 
     }); 
     return false; 
    }); 

回答

2

如果你的隱藏字段已經是形式,它會在你的序列化數據。你不需要專門發送。如果您仍希望從表單外部發送另一條數據,則可以將它作爲查詢字符串值發送,並將您的操作方法設置爲名爲itemId的參數(假設hdnID是隱藏元素的ID)

$.ajax({ 
     url: '@Url.Action("Create","Home")'+?itemId='+$("#hdnID").val(), 
     type: 'POST',   
     data: $('#myForm').serialize(),    
     success: function(data) { 
     } 
    }); 

http://api.jquery.com/serialize/

+0

那會是什麼的dataType? – Elisabeth

+0

@Elisa:我相信它會作爲查詢字符串發送。您可以在您的操作方法中讀取請求參數。使用fiddler/firebug /使用Visual Studio斷點來查看線路中發生了什麼。 – Shyju

+0

(POST)公衆的ActionResult創建(步步測試,一步步測試,詮釋testplanId),該ID是正確的有感謝。但是我的teststep對象不再被填充,儘管我輸入了數據,但所有3個屬性都是空的。不知怎的,新的「功能」打破了MVC模型聯編程序。你知道如何糾正?編輯:一步步測試對象不爲空,它只是性質不filled.BAH ...編輯:對不起混亂步步測試IS NULL。我將formData重命名爲teststep,但沒有幫助! – Elisabeth