[solved] Shop-Formular: Bei Überprüfung Reset der Optionen

Hier bekommst Du deutschsprachigen Support. Keine Fehlermeldungen oder Erweiterungswünsche bitte!
Post Reply
User avatar
santscho
Posts: 1368
Joined: Mon 2. Apr 2007, 08:56
Location: Singapore
Contact:

[solved] Shop-Formular: Bei Überprüfung Reset der Optionen

Post by santscho » Mon 6. Oct 2014, 13:40

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

User avatar
Oliver Georgi
Site Admin
Posts: 9554
Joined: Fri 3. Oct 2003, 22:22
Location: Moscow, Russia
Contact:

Re: Shop-Formular: Bei Überprüfung Reset der Optionen

Post by Oliver Georgi » Tue 7. Oct 2014, 07:08

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);
    }
});
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон

User avatar
santscho
Posts: 1368
Joined: Mon 2. Apr 2007, 08:56
Location: Singapore
Contact:

Re: Shop-Formular: Bei Überprüfung Reset der Optionen

Post by santscho » Tue 7. Oct 2014, 09:37

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);
    }
});
Schon Konfuzius sagte: "Sei kein YAML-Lappen". YAML-phpwcms-Integration auf http://www.yaml.phpwcms.org

nameless1
Posts: 847
Joined: Sun 27. Apr 2008, 23:22

Re: Shop-Formular: Bei Überprüfung Reset der Optionen

Post by nameless1 » Tue 7. Oct 2014, 10:32

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.

User avatar
Oliver Georgi
Site Admin
Posts: 9554
Joined: Fri 3. Oct 2003, 22:22
Location: Moscow, Russia
Contact:

Re: Shop-Formular: Bei Überprüfung Reset der Optionen

Post by Oliver Georgi » Tue 7. Oct 2014, 10:34

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>
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон

User avatar
santscho
Posts: 1368
Joined: Mon 2. Apr 2007, 08:56
Location: Singapore
Contact:

Re: Shop-Formular: Bei Überprüfung Reset der Optionen

Post by santscho » Tue 7. Oct 2014, 17:20

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

User avatar
Oliver Georgi
Site Admin
Posts: 9554
Joined: Fri 3. Oct 2003, 22:22
Location: Moscow, Russia
Contact:

Re: Shop-Formular: Bei Überprüfung Reset der Optionen

Post by Oliver Georgi » Tue 7. Oct 2014, 17:34

Du benötigst es NUR im Template, genau da, wo die Feldersetzer stehen! Nirgends wo anders.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон

User avatar
santscho
Posts: 1368
Joined: Mon 2. Apr 2007, 08:56
Location: Singapore
Contact:

Re: Shop-Formular: Bei Überprüfung Reset der Optionen

Post by santscho » Wed 8. Oct 2014, 11:08

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

User avatar
Oliver Georgi
Site Admin
Posts: 9554
Joined: Fri 3. Oct 2003, 22:22
Location: Moscow, Russia
Contact:

Re: [solved] Shop-Formular: Bei Überprüfung Reset der Option

Post by Oliver Georgi » Wed 8. Oct 2014, 11:14

Jupp, genau so — und wenn es geht, dann sowieso :D
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон

Post Reply