[solved] Shop-Formular: Bei Überprüfung Reset der Optionen
[solved] Shop-Formular: Bei Überprüfung Reset der Optionen
Füllt man im Shop das Formular aus (Lieferadresse/Zahlungsweise) und schickt es ab, gibt es keine Probleme, solange alle Pflichtfelder ausgefüllt sind.
Wird jedoch ein Feld vergessen, spuckt phpwcms die entsprechenden Warnungen aus, was ja auch erwünscht ist. Jedoch werden alle Felder mit Dropdown, Checkbox oder Radiobutton wieder zurück gesetzt.
Zum Beispiel hat man im Land-Dropdown nach der Formularüberprüfung wieder "Bitte wählen..." wo man vorher "Deutschland" hatte. Sendet man das Formular ab, wird dann wieder ein Fehler ausgegeben, dass "Land" noch ausgefüllt werden muss. Dann schickt man es wieder ab und bemerkt, dass die "Zahlungsweise"-Checkbox auch wieder falsch gewählt wurde.
Warum merkt sich das Formular nur eingegebene Werte in "<input type="text">" und "<textarea>"? Warum werden Werte aus "<select>" und "<input type="radio">" zurück gesetzt?
Wird jedoch ein Feld vergessen, spuckt phpwcms die entsprechenden Warnungen aus, was ja auch erwünscht ist. Jedoch werden alle Felder mit Dropdown, Checkbox oder Radiobutton wieder zurück gesetzt.
Zum Beispiel hat man im Land-Dropdown nach der Formularüberprüfung wieder "Bitte wählen..." wo man vorher "Deutschland" hatte. Sendet man das Formular ab, wird dann wieder ein Fehler ausgegeben, dass "Land" noch ausgefüllt werden muss. Dann schickt man es wieder ab und bemerkt, dass die "Zahlungsweise"-Checkbox auch wieder falsch gewählt wurde.
Warum merkt sich das Formular nur eingegebene Werte in "<input type="text">" und "<textarea>"? Warum werden Werte aus "<select>" und "<input type="radio">" zurück gesetzt?
Last edited by santscho on Wed 8. Oct 2014, 11:08, edited 1 time in total.
Schon Konfuzius sagte: "Sei kein YAML-Lappen". YAML-phpwcms-Integration auf http://www.yaml.phpwcms.org
- Oliver Georgi
- Site Admin
- Posts: 9888
- Joined: Fri 3. Oct 2003, 22:22
- Contact:
Re: Shop-Formular: Bei Überprüfung Reset der Optionen
Da der Shop nicht für diese Feldwerte vorbereitet ist. Du hast das im Template selbst ergänzt und müsstest Dich also auch darum kümmern, dass es entsprechend gesetzt wird, wenn "ausgewählte" Werte vorhanden sind. Ich könnte es zwar im Shopmodul entsprechend ergänzen, aber…
Standard Zahlungsweise dürfte aber gehen, es sei denn auch die hast Du customized.
Standard Zahlungsweise dürfte aber gehen, es sei denn auch die hast Du customized.
Code: Select all
$(function() {
var $setCountry = '{INV_COUNTRY}';
if($setCountry !== '') {
$('#shop_inv_country').val($setCountry);
}
});
Re: Shop-Formular: Bei Überprüfung Reset der Optionen
Ja, der Wert der Standard-Zahlungsweise wird gespeichert. Nur die Werte der Custom-Felder nicht (ausser Text und Textarea).
Firma: Textfeld -> Wert bleibt gespeichert
Member: Dropdown -> Wert wird zurück gesetzt
Bemerkung: Textarea -> Wert bleibt gespeichert
Land: Dropdown -> Wert wird zurück gesetzt
Zahlungsweise: Radio button -> Wert wird zurück gesetzt
Das heisst, ich muss jetzt 3 Snippets wo genau einfügen?
Code: Select all
shop_field_1 = STRING_Firma
shop_field_2 = STRING_REQ_Member
shop_field_3 = STRING_Bemerkung
shop_field_4 = STRING_REQ_Land
shop_field_5 = STRING_REQ_Zahlungsweise
Member: Dropdown -> Wert wird zurück gesetzt
Bemerkung: Textarea -> Wert bleibt gespeichert
Land: Dropdown -> Wert wird zurück gesetzt
Zahlungsweise: Radio button -> Wert wird zurück gesetzt
Das heisst, ich muss jetzt 3 Snippets wo genau einfügen?
Code: Select all
$(function() {
var $setMember = '{shop_field_2}';
if($setMember !== '') {
$('#shop_field_2').val($setMember);
}
});
$(function() {
var $setLand = '{shop_field_4}';
if($setLand !== '') {
$('#shop_field_4').val($setLand);
}
});
$(function() {
var $setZahlungsweise = '{shop_field_5}';
if($setZahlungsweise !== '') {
$('#shop_field_5').val($setZahlungsweise);
}
});
Schon Konfuzius sagte: "Sei kein YAML-Lappen". YAML-phpwcms-Integration auf http://www.yaml.phpwcms.org
Re: Shop-Formular: Bei Überprüfung Reset der Optionen
auf den seiten wo bspw. das shopfield5 nach dem (re)load per javascript die werte enthalten soll.santscho wrote: Das heisst, ich muss jetzt 3 Snippets wo genau einfügen?
- Oliver Georgi
- Site Admin
- Posts: 9888
- Joined: Fri 3. Oct 2003, 22:22
- Contact:
Re: Shop-Formular: Bei Überprüfung Reset der Optionen
1 Snippet!!!! Dort im Template, wo es benötigt wird. Für den Radiobutton musst Du jeden Input Wert prüfen und wichtig jedem input[type=radio] eine separate id (shop_field_5_val1, shop_field_5_val2…) geben.
Code: Select all
<script>
$(function() {
var $setMember = '{shop_field_2}', $setZahlungsweise = '{shop_field_5}', $setLand = '{shop_field_4}';
if($setMember !== '') {
$('#shop_field_2').val($setMember);
}
if($setLand !== '') {
$('#shop_field_4').val($setLand);
}
if($setZahlungsweise !== '') {
if($('#shop_field_5_val1').val() == $setZahlungsweise) {
$('#shop_field_5_val1').prop('checked', true);
} else if($('#shop_field_5_val2').val() == $setZahlungsweise) {
$('#shop_field_5_val2').prop('checked', true);
} // …
}
});
</script>
Re: Shop-Formular: Bei Überprüfung Reset der Optionen
Das heisst, ich kann das Script im Shop-Template (de.html) einfügen? Oder besser als html-CP?
Schon Konfuzius sagte: "Sei kein YAML-Lappen". YAML-phpwcms-Integration auf http://www.yaml.phpwcms.org
- Oliver Georgi
- Site Admin
- Posts: 9888
- Joined: Fri 3. Oct 2003, 22:22
- Contact:
Re: Shop-Formular: Bei Überprüfung Reset der Optionen
Du benötigst es NUR im Template, genau da, wo die Feldersetzer stehen! Nirgends wo anders.
Re: Shop-Formular: Bei Überprüfung Reset der Optionen
Super! Ich habe jetzt das Skript mit den zwei fehlenden Radio-Button-Optionen ergänzt was soweit funktioniert (#shop_field_5_val3 und #shop_field_5_val4). Ich hoffe, ich habe das im Skript auch richtig umgesetzt:
Code: Select all
<script>
$(function() {
var $setMember = '{shop_field_2}', $setZahlungsweise = '{shop_field_5}', $setLand = '{shop_field_4}';
if($setMember !== '') {
$('#shop_field_2').val($setMember);
}
if($setLand !== '') {
$('#shop_field_4').val($setLand);
}
if($setZahlungsweise !== '') {
if($('#shop_field_5_val1').val() == $setZahlungsweise) {
$('#shop_field_5_val1').prop('checked', true);
} else if($('#shop_field_5_val2').val() == $setZahlungsweise) {
$('#shop_field_5_val2').prop('checked', true);
} else if($('#shop_field_5_val3').val() == $setZahlungsweise) {
$('#shop_field_5_val3').prop('checked', true);
} else if($('#shop_field_5_val4').val() == $setZahlungsweise) {
$('#shop_field_5_val4').prop('checked', true);
} // …
}
});
</script>
Schon Konfuzius sagte: "Sei kein YAML-Lappen". YAML-phpwcms-Integration auf http://www.yaml.phpwcms.org
- Oliver Georgi
- Site Admin
- Posts: 9888
- Joined: Fri 3. Oct 2003, 22:22
- Contact:
Re: [solved] Shop-Formular: Bei Überprüfung Reset der Option
Jupp, genau so — und wenn es geht, dann sowieso