Ich versuche, ein Formular zu erstellen, das Frontend mit Parsley.js validiert und asynchron eingereicht wird. Das Formular heißt #contactForm und die Übergabeschaltfläche ist #sendData. Der Fehler tritt auf, wenn ich auf ein leeres oder ungültiges Formular absende. Ich erwarte eine 'Fehler' Warnung von ungültigen Formulardaten, aber stattdessen geht es einfach weiter mit der Else Bedingung und die Daten werden von contactForm.php verarbeitet.Asynchrone Formularübergabe mit petersilie.js
$(document).ready(function() {
// submit data on click and check if valid
$('#sendData').click(function(e) {
//check if valid with parsley
var valid = $('#contactForm').parsley ('validate');
if (valid === false)
{
e.preventDefault();
}
else
{
$.post("contactForm.php", $("#contactForm").serialize());
}
});
});
unter Proper Lösung.
Wenn das Validierungsergebnis boolesch ist, sollte Ihre Bedingung "if (! Valid)" oder "if (valid === false)" sein. Ziehen Sie auch in Erwägung, einen Parameter 'e' zu Ihrem Click-Handler hinzuzufügen und' e.preventDefault(); 'anstelle von' false' zu verwenden, um das Event abzubrechen. – plalx
Sie geben auch auf [ihrer Site] (http://parsleyjs.org/documentation.html#parsleyform) an, dass Sie das Attribut "data-validate =" petersilie "" aus dem Formular entfernen müssen, um die Standardverarbeitung zu überschreiben. – plalx
Danke für den Hinweis @plalx Ich habe Daten-validate = "Petersilie" aus den Formularattributen entfernt und die Bedingung für Boolean korrigiert. Aus irgendeinem Grund habe ich immer noch das gleiche Problem. Ah- vergessen mich. Ich habe deinen Kommentar falsch gelesen und ihn gelöst. Danke noch einmal. – nobody