2010-07-09 29 views
0

我有這樣的代碼:JQuery的無效參數後

<script type="text/javascript"> 
    var loader = "#loader"; 

    $(function() { 
     $("#selUsers").change(function() { 
      if ($(this).val() != "") { 
       $(loader).show(); 

       $.ajax({ 
        type: "POST", 
        url: "", 
        data: { 
         userID: $(this).val() 
        }, 
        success: function(msg) { 

         $("#Firstname").val(msg[0].Firstname || ""); 
         $("#Surname").val(msg[0].Surname || ""); 
         $("#Email").val(msg[0].Email || ""); 
         $("#Phone").val(msg[0].Phone || ""); 
         $("#Mobile").val(msg[0].Mobile || ""); 
         $("#Address").val(msg[0].Address || ""); 
         $("#Zipcode").val(msg[0].Zipcode || ""); 
         $("#City").val(msg[0].City || ""); 
         $(loader).hide(); 
        }, 
        error: function() { 
         $(loader).hide() 
        } 
       }); 
      } else { 
       $(":input[type=text]").val(""); 
       $("#BookingNotes").val(""); 
      } 

     }); 
    }); 
</script> 

而且我已經包括這些:

<script src="/Scripts/jquery-1.4.2.min.js" type="text/javascript"></script> 
<script src="/Scripts/jquery-ui-1.8.custom.min.js" type="text/javascript"></script> 

我也得到無效的參數....看不到那些哪一行,因爲第127行是一個html標籤只..

正如我記得這個工作之前,也許我已經包括錯誤的JavaScript?

你們有什麼線索可能是錯的?

/M

回答

1
data: { userID : $(this).val() }, // $(this) refers to $ object... 

應該像

$("#selUsers").change(function() { 
    var userID = $(this).val(); 
    if($(this).val() != "") 
     { 
      $(loader).show(); 
     //............... 
     //.............. 
       data: { userID : userID }, 
0

您也可以嘗試申報數據對象將它傳遞給Ajax功能之前。這樣,ajax就會收到一個已經完成的數據對象。這增加了可讀性,但這只是我的看法。

//define the object and create the needed nodes before the ajax call 
var data = {}; 
data.userID = $(this).val(); 

$.ajax({ 
    type: "POST", 
    url: "", 
    data: data, //just pass the whole already complete object 
    success: function(msg) { 
    and so on..