2009-06-26 6 views
1

Je ne comprends pas pourquoi le code suivant ne fonctionne pas. J'enregistre des valeurs d'entrées pour les sessions. Dans la page suivante, je souhaite que les utilisateurs puissent copier ces valeurs dans les champs de saisie.Copier des valeurs de session dans des champs de saisie

$ (function() { $ ("entrée # copyshipping"). Cliquez sur (function() {

if ($("input#copyshipping").is(':checked')) 

    { 
     // Checked, copy values 
     $("input#BillingFirstName").val("<%=Session("ShippingFIRSTNAME")%>"); 

     $("input#BillingLastName").val("<%=Session("ShippingLASTNAME")%>"); 

     $("input#BillingAddress1").val("<%=Session("ShippingADDRESS1")%>"); 

     $("input#BillingAddress2").val("<%=Session("ShippingADDRESS2")%>"); 

     $("input#BillingCity").val("<%=Session("ShippingCITY")%>"); 

     $("input#BillingState").val("<%=Session("ShippingSTATE")%>"); 

     $("input#BillingCountry").val("<%=Session("ShippingPOSTALCODE")%>"); 

     $("input#BillingPostalCode").val("<%=Session("ShippingCOUNTRY")%>"); 

    } else { 
     // Clear on uncheck 
     $("input#BillingFirstName").val(""); 
     $("input#BillingLastName").val(""); 
     $("input#BillingAddress1").val(""); 
     $("input#BillingAddress2").val(""); 
     $("input#BillingCity").val(""); 
     $("input#BillingState").val(""); 
     $("input#BillingCountry").val(""); 
     $("input#BillingPostalCode").val(""); 

    }  }); }); 
+0

Plus d'informations s'il vous plaît. Qu'est-ce qui se passe exactement? Avez-vous des erreurs? Est-ce que cela ne copie pas les valeurs? Quels tests et débogages avez-vous déjà fait? – jrista

+0

Cela semble être destiné à générer un fichier JS. À quoi ressemble le code généré? – acrosman

+0

Salut, laissez-moi vous expliquer plus en détail. Le client ajoute un produit au panier. Lorsque vous cliquez sur suivant, redirigé vers la page d'informations d'expédition. une fois qu'il entre (je garde toutes ces informations dans les sessions) toutes les informations d'expédition, il est redirigé vers la page d'information de facturation. Je n'ai pas d'erreurs. Je suis idiot, j'aurais dû vérifier le code généré avant! $ ("input # BillingFirstName"). Val ("Boris"); $ ("input # BillingLastName"). Val ("Yeltsin"); $ ("input # BillingAddress1"). Val ("Palais du Kremlin"); – Efe

Répondre

3

En regardant le code source, il apparaît que les zones de texte n'ont pas d'attributs d'identification, seulement des attributs de nom. Quand vous dites, par exemple, $("input#BillingFirstName"), le "#" indique un ID, et il n'y en a pas. Ajoutez un ID ou utilisez $("input[name='BillingFirstName']). Je recommande d'ajouter l'ID; c'est un sélecteur plus rapide.

+0

Oh mon dieu, comment pourrais-je manquer cela. Merci beaucoup! – Efe

0

Pourquoi ne pas simplement l'écho des données de session directement dans les entrées si les case est cochée? il n'y a aucune raison de l'écho dans le code JavaScript et jQuery ont remplir le formulaire.

en outre, cette configuration actuelle échouera si l'utilisateur a désactivé JavaScript.

+0

Il veut que l'utilisateur soit capable de faire apparaître les valeurs stockées dans et hors des zones de texte si nécessaire. Ils pourraient changer d'avis. –

+0

Ahhh oui, j'étais confus quand il a dit "sur la page suivante". Je pensais qu'il renvoyait ces données au serveur, puis à la page suivante en vérifiant si la case était cochée, puis en affichant les données si c'était le cas. J'ai également manqué la fonction .click() parce que pour une raison quelconque ce n'était pas couleur de code ... –

Questions connexes