2010-07-09 8 views
0

J'ai ce code:JQuery argument invalide après

<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> 

Et j'ai inclus ces:

<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> 

Et je reçois argument invalide .... ne peut pas voir quelle ligne de ceux-ci, puisque la ligne 127 est un html-tag seulement ..

Si je me souviens que cela a fonctionné avant, peut-être que j'ai inclus mauvais javascript?

Vous avez la moindre idée de ce qui pourrait se passer?

/M

Répondre

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

devrait être comme

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

Vous pouvez également essayer de déclarer l'objet de données avant de passer à la fonction ajax. De cette façon, l'ajax recevra juste un objet de données déjà complet. Cela augmente la lisibilité, mais c'est juste mon opinion.

//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.. 
Questions connexes