2016-09-27 1 views
1

Ich habe eine Funktion, die eine Warnung zurückgibt, wenn das Formular nicht ausgefüllt wurde "Fehler ist aufgetreten" und wenn alle Felder ausgefüllt sind, ist die Warnung "Formular erfolgreich gesendet". Mein Problem ist, dass bei einem Fehler der Alarm "Fehler ist aufgetreten" ausgelöst wird und wenn ich die unvollständigen Felder ausfülle und das Formular absende, wird der "Fehler ist aufgetreten" erneut ausgelöst, weil er bereits auf der Seite existiert. Wie ignoriere ich aktuelle Fehler, die bereits gemeldet wurden, oder lösche aktuelle Fehlermeldungen, damit ich versuchen kann, das Formular erneut zu validieren?Formular Fehler Validierung mit Alarm

jede Hilfe wird sehr geschätzt.

das ist meine Form Testseite, die in Salesforce Pardot gebaut wurde: http://go.esri.com/l/82202/2016-05-09/2jzdrk

<script> 
function submitVerify() { 
    var formError = document.querySelector("#pardot-form .errors").innerHTML; 

    if (formError === "Please correct the errors below:") { 
     alert("error has occured"); 
    } else { 
     alert("Form submitted successfully"); 
    } 
} 
</script> 
+0

einen Ausschnitt erstellen Ihres Validierungscodes scheint es nicht korrekt zu sein. –

+0

Die Funktion, die die Eingabeüberprüfung ausführt, sollte das DIV-Element ".errors" am Anfang leeren und dann hinzufügen, wenn es Fehler erkennt. – Barmar

+0

Können Sie mehr Code bereitstellen? Es ist wirklich schwer zu verstehen, was mit so wenig Code passiert. – emiliopedrollo

Antwort

1

Bevor alarmiert, dass ein Fehler vorliegt, leer aus Ihren Fehlern Feld wie folgt aus:

<script> 
function submitVerify() { 
    var formError = document.querySelector("#pardot-form .errors").innerHTML; 

    if (formError === "Please correct the errors below:") { 
     alert("error has occured"); 

     // <=== reset error message here 
     document.querySelector("#pardot-form .errors").innerHTML = null; 
    } else { 
     alert("Form submitted successfully"); 
    } 
} 
</script> 
+0

Ich habe versucht, die Reset-Fehlermeldung, aber ich bekomme immer noch die Fehlermeldung bei der erneuten Übermittlung. Als eine mögliche Abhilfe werde ich die Fehlermeldungen verschwinden lassen, wenn der Fehler behoben ist. –

+0

Haben Sie jemals den Alarm "Formular erfolgreich gesendet" erhalten? Versuchen Sie, 'document.querySelector (" # pardot-form .errors "). InnerHTML' in Ihre JavaScript-Konsole einzugeben, um zu sehen, was die Ausgabe ist. Wenn es Ihre erste Bedingung erfüllt, wird es einen Fehler melden. Versuchen Sie, das zurückzusetzen, bevor Sie von der Funktion submitVerify zurückkehren –