2013-08-05 28 views
0

我有一個序列化我的形式ajaxmethod:處理不重複的序列化的字符串值

$(document).on("click", "#prescription", function() { 
$("#PersonBMIright").removeAttr('disabled'); 
if($("#AbdominalCircumferencerightradio:checked").length === 1) { 
    $("#AbdominalCircumferencerighttext").attr('disabled', true); 
} 
    $.ajax({ 
     url: "/Home/Overview", 
     type: "post", 
     data: { form: $("form").serialize(), answerData: maincontent }, 
     success: function (result) { 
      $('.content-wrap').html(result); 


     } 
    }); 

的問題是,香港專業教育學院有一個文本框和工作togheter一個單選按鈕,這樣當單選按鈕被選中文本框不應該有一個價值,相反。但是,當我序列化窗體和單選按鈕被選中時,文本框將在序列化的字符串中,但沒有值,這使得我的反序列化方法創建一個錯誤,因爲它獲得了兩個相同類型的值。在序列化之前有沒有辦法擺脫文本框?我試圖讓它在我序列化之前就被禁用了,但這不起作用。

回答

0

嘗試

if($("#AbdominalCircumferencerightradio").is(":checked")) { 
    $("#AbdominalCircumferencerighttext").prop('disabled', true); 
} 
+0

它被禁用,但它仍然會發送textboxvalue爲「」,這將讓錯誤 –

+0

似乎罰款在http://jsfiddle.net/arunpjohny/2REKn/2/ –

+0

我使用此代碼反序列化它,它在這裏得到錯誤。 var data = formName.Split('&') .Select(x => x.Split('=')) .ToDictionary(x => x [0],x => x [1]); 我沒有工作去除屬性的名稱 –