Page 1 of 1
[solved] Shop-Formular: Bei Überprüfung Reset der Optionen
Posted: Mon 6. Oct 2014, 13:40
by santscho
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?
Re: Shop-Formular: Bei Überprüfung Reset der Optionen
Posted: Tue 7. Oct 2014, 07:08
by Oliver Georgi
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.
Code: Select all
$(function() {
var $setCountry = '{INV_COUNTRY}';
if($setCountry !== '') {
$('#shop_inv_country').val($setCountry);
}
});
Re: Shop-Formular: Bei Überprüfung Reset der Optionen
Posted: Tue 7. Oct 2014, 09:37
by santscho
Ja, der Wert der Standard-Zahlungsweise wird gespeichert. Nur die Werte der Custom-Felder nicht (ausser Text und Textarea).
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
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
$(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);
}
});
Re: Shop-Formular: Bei Überprüfung Reset der Optionen
Posted: Tue 7. Oct 2014, 10:32
by nameless1
santscho wrote:
Das heisst, ich muss jetzt 3 Snippets wo genau einfügen?
auf den seiten wo bspw. das shopfield5 nach dem (re)load per javascript die werte enthalten soll.
Re: Shop-Formular: Bei Überprüfung Reset der Optionen
Posted: Tue 7. Oct 2014, 10:34
by Oliver Georgi
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
Posted: Tue 7. Oct 2014, 17:20
by santscho
Das heisst, ich kann das Script im Shop-Template (de.html) einfügen? Oder besser als html-CP?
Re: Shop-Formular: Bei Überprüfung Reset der Optionen
Posted: Tue 7. Oct 2014, 17:34
by Oliver Georgi
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
Posted: Wed 8. Oct 2014, 11:08
by santscho
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>
Re: [solved] Shop-Formular: Bei Überprüfung Reset der Option
Posted: Wed 8. Oct 2014, 11:14
by Oliver Georgi
Jupp, genau so — und wenn es geht, dann sowieso
