2009-06-26 9 views
1

Ich verstehe nicht, warum der folgende Code funktioniert nicht. Ich speichere einige Eingabewerte in Sitzungen. Auf der nächsten Seite möchte ich, dass Benutzer diese Werte in Eingabefelder kopieren können.Kopieren Sitzungswerte zu Eingabefelder

$ (function() { $ ("input # copyshipping"). Klicken (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

Weitere Informationen bitte. Was genau passiert? Erhalten Sie Fehler? Kopiert es einfach keine Werte? Was für Tests und Debugging hast du schon gemacht? – jrista

+0

Dies sieht so aus, als ob es eine JS-Datei erzeugen soll. Wie sieht der generierte Code aus? – acrosman

+0

Hallo lass mich das genauer erklären. Kunde fügt ein Produkt in den Warenkorb ein. Wenn auf "Weiter" geklickt wird, wird auf die Versandinformationsseite umgeleitet. Sobald er alle Versandinformationen (ich behalte alle diese Informationen in den Sitzungen) eingibt, wird er zur Seite mit den Rechnungsinformationen weitergeleitet. Ich bekomme keine Fehler. Ich bin Idiot, ich hätte vorher den generierten Code überprüfen sollen! $ ("input # BillingFirstName"). Val ("Boris"); $ ("input # BillingLastName"). Val ("Yeltsin"); $ ("input # BillingAddress1"). Val ("Kremlpalast"); – Efe

Antwort

3

Mit Blick auf den Quellcode scheint es, dass die Textfelder keine ID-Attribute haben, nur Namensattribute. Wenn Sie beispielsweise $("input#BillingFirstName") sagen, gibt das "#" eine ID an, und dort ist keine ID.

Entweder eine ID hinzufügen oder $("input[name='BillingFirstName']) verwenden. Ich empfehle die ID hinzuzufügen; Es ist ein schnellerer Selektor.

+0

Oh Gott, wie könnte ich das vermissen. Ich danke dir sehr! – Efe

0

Warum nicht einfach die Sitzungsdaten direkt in die Eingänge Echo, wenn die Checkbox aktiviert ist? es gibt keinen Grund, warum es in den JavaScript-Code zu Echo und dann haben jQuery die Form füllen.

auch dieses aktuelle Setup schlägt fehl, wenn der Benutzer JavaScript deaktiviert.

+0

Er will, dass der Benutzer die gespeicherten Werte in die und aus der Textfelder in der Lage sein, um Pop nach Bedarf. Sie könnten ihre Meinung ändern. –

+0

Ahhh ja, ich war verwirrt als er sagte "auf der nächsten Seite". Ich dachte, er würde diese Daten zurück auf den Server posten, dann auf der nächsten Seite prüfen, ob das Kontrollkästchen aktiviert war, und dann die Daten anzeigen lassen, wenn dies der Fall wäre. Ich vermisste auch die .click() - Funktion, weil es aus irgendeinem Grund nicht Code-gefärbt war ... –