2012-06-26 35 views
0

我有一個使用AJAX的表單。我將如何選擇將表單的哪些輸入發送給後面的代碼(而不是整個表單)? AJAXajax選擇哪個表單輸入到post和searlize

function send() 
    { 
     $.ajax({ 
        type: 'POST', 
        url: this.action, 
        data: {'data1': $('#data1').val(), 
        'data2': $('#data2').val() }, 
        success: function (done) { 
      $('#box').html(done.output); 
     }); 
    } 

FORM

@using (Html.BeginForm()) 
{ 
<input id="data1" value="0" name="data1" onclick="send();" > 
<input id="data2" value="0" name="data2" onclick="send();" > 

} 
+0

是否可以添加HTML表單,以便我們可以幫助解決您在下面提及的問題? – iDev247

+0

當然,我只是添加了我的表格。謝謝 – user999690

+0

根據我的說法,我們回答了你的問題:「我將如何選擇表單的哪些輸入發送而不是整個表單?」以上應該工作。可以? – iDev247

回答

1

你可以在data參數指定它們:

$.ajax({ 
    type: 'POST', 
    url: this.action, 
    data: { 
     field1: $('#field1').val(), 
     field2: $('#field2').val() 
    } 
}); 
+0

我會將field1:更改爲它在代碼後面(模型)中表示的屬性名稱嗎? – user999690

+0

是的,就是這樣。 –

+0

實際上在這個代碼中,你會改變它的ID - 你希望選擇器的屬性名稱是'$('input [name =「field1」]')' – bokonic

0
  var NewKeyword = $('#txtbox1').val(); 
      var type = $('#txtbox2').val() 

      $.ajax({ 
       type: "POST", 
       url: "url...", 
       data: "{'type':'" + type + "','keyword' : '" + NewKeyword + "' }", 

然後在C#中,你必須能夠接受 「型和」關鍵字作爲您webmethod中的參數

+0

非常奇怪似乎沒有擊中我的模特屬性。我在後面的代碼中沒有收到任何值。 – user999690

0

你可以做這樣的事情:

$form = $('form'); 
$.ajax({ 
     type: 'POST', 
     url: this.action, 
     data: { 
      'name': $('fieldNameForName', $form).val(), 
      'age': $('fieldNameForAge', $form).val() 
     } 
}); 
+0

很奇怪似乎沒有擊中我的模特屬性。我在後面的代碼中沒有收到任何值。 – user999690

0

而不是使用序列化的,你可以寫一個接受的形式,選擇一個功能:

function getFormData(formSelector,toSend){ 
    var formData = {}; 
    for(var i in toSend){ 
     var field = formSelector.find('input[name="'+toSend[i]+'"]'); 
     if(field!==undefined) formData[toSend[i]] = field[0].val(); 
    } 
    return formData; 
} 

用法:

$.ajax({ 
    url: '/myurl' 
    data: getFormData($('#myForm'),['FirstName','LastName','FavoriteColor']), 
    type: 'POST' 
    }); 

數組你傳入應該是你想發送的字段的名稱屬性(你可以使它成爲id,或者其他任何東西,我只是想你有name屬性設置。

+0

很奇怪似乎沒有擊中我的模特屬性。我在後面的代碼中沒有收到任何值。 – user999690

+0

意識到我索引到發錯 - 對此感到遺憾 – bokonic