Probleme Submit u.s.w.

piti66

Erfahrenes Mitglied
Hallo,

ich versuche gerade ein Zahlungssystem für einen Kunden einzurichten. Passiert leider auf Javascript, was nicht wirklich meine Stärke ist. Hab dafür eine kleine Testumgebung aufgesetzt. Ziel ist es Daten zu prüfen und wenn alles ok ist, das Formular in den nächsten Schritt zu schicken. Beim Fehler kommt halt eine Fehlermeldung.

Es gibt verschiedene Zahlungsanbieter. Bei den ersten muss der Kunde nichts ausfüllen und das Formular kann normal geschickt werden, wenn er aber Kreditkarte auswählt, muss ich per Javascript und einer Schnittstelle die Daten prüfen, sind die ok, soll nun das Formular abgeschickt werden, wenn nicht, wird ein "alert" ausgegeben. Im moment blende ich dann folgenden Button ein oder aus:

PHP:
<input id="submit1" type="button" value="'.$lang['btn_weiter'].' &rarr;" onClick="storeData(\'CreditCard\');" class="btn_kl" style="display:none;">
<input id="submit2" type="submit" name="submit" id="submit" value="'.$lang['btn_weiter'].' &rarr;" class="btn_kl" />

Das ist der Javascript Code:

PHP:
      callbackFunction = function(aResponse) {
        // initiates the result string presented to the user
        var s = "Response of Wirecard data storage call:\n\n";
        // checks if response status is without errors
        if (aResponse.getStatus() == 0) {
          // saves all anonymized payment information to a JavaScript object
          var info = aResponse.getAnonymizedPaymentInformation();
          if (paymentType == "CreditCard") {
            //s += "anonymousPan: " + info.anonymousPan + "\n";
            //s += "maskedPan: " + info.maskedPan + "\n";
            //s += "financialInstitution: " + info.financialInstitution + "\n";
            //s += "brand: " + info.brand + "\n";
            //s += "cardholdername: " + info.cardholdername + "\n";
            //s += "expiry: " + info.expiry + "\n";
****?
          }
        }
        else {
          // collects all occured errors and adds them to the result string
          var errors = aResponse.getErrors();
          for (e in errors) {
            s += "Error " + e + ": " + errors[e].message + " (Error Code: " + errors[e].errorCode + ")\n";
          }
        }
        // presents result string to the user
        alert(s);
      }

Hab Fragezeichen reingemacht? Da weiß ich leider nicht weiter, ideal wäre es, wenn das Formular nun einfach abgeschickt wird, aber dafür finde ich leider keine Lösung oder bin zu blöde :(

Vielleicht kann man den Ablauf auch anders machen, der Kunde soll natürlich nicht 2mal klicken müssen.

Danke.

MFG

Sebastian
 
Hi,

falls callbackFunction die callback-Funktion eines Ajax-Request ist, so könntest du beim Initialisieren des Requests den submit-Event unterbinden - Stichwörter preventDefault und returnValue.

Sollte die Antwort des Requests ein Absenden des Formulars zulassen, so kannst du das in der callback-Funktion an der Stelle mit dem Fragezeichen mit der Methode submit des form-Elements initiieren.

Ciao
Quaese
 
Hallo,

also die Callback Funktion ist kein Ajax Request. Die hat der Zahlungsanbieter einfach so genannt.

Das verstehe ich leider nicht wirklich:

Sollte die Antwort des Requests ein Absenden des Formulars zulassen, so kannst du das in der callback-Funktion an der Stelle mit dem Fragezeichen mit der Methode submit des form-Elements initiieren.

Hatte mal probiert mit submit(), aber da passiert leider gar nichts :(
Verzweifele da langsam dran ahhh
 

Neue Beiträge

Zurück