Ich versuche, ein Feld aus der Ferne zu überprüfen, indem ich zwei verschiedene Felder anschaue. Das Problem ist, dass ich in den Beispielen, in denen ich sehe, wie man das Senden zusätzlicher Daten per Remote-Validierung durchführt, die ID des anderen Feldes verwenden, das gerade verarbeitet wird. Das Beispiel auf der jQuery validate API-Seite für remote() verwendet "#username" und sendet dies zusätzlich zum E-Mail-Feld.Senden zusätzlicher Informationen mit JQuery-Remote-Formularüberprüfung
Meine Seite ist ungerade, und hat mehrere Formulare, die identisch sind, und die Anzahl der Formulare auf der Seite ist variabel, so dass ich keine eindeutige ID für jedes Feld haben kann. Gibt es eine Möglichkeit herauszufinden, welches Feld oder welche Form validiert wird? Ich habe so etwas wie das Folgende versucht, weil ich dachte, $ (das wäre das Textfeld gewesen, das validiert wurde, oder das einzelne Formular wird validiert, aber das scheint nicht der Fall zu sein.
number: {
required: true,
number: true,
remote: {
url: "confirm.php",
data: {
toy: function() {
return $('select[name="toy"]:selected',this).val();
}
}
}
}
Danke, Jared
Edit: Ich landete einen Weg herauszufinden, um es zu arbeiten. Der Rat, das Formular weiterzugeben, gab mir die Idee.
Da ich mehrere Formulare auf der Seite hatte, verwendete ich $ ('form'). Je (function() {$ (this) .validate ({....})});
So gespeichert ich nur einen Verweis auf die aktuelle Form mit var form = $ (this) vor dem Validieren Anruf, und dann im Beispiel, das ich früher gab ich hatte nur eine kleine Änderung vornehmen:
data: {
toy: function() {
return $('select[name="toy"]',form).val();
}
}
Und jetzt weiß jedes Feld, zu welcher Form es gehört!
Tut mir leid, ich verstehe nicht. Wollen Sie die FormID als zusätzliche Daten in der Remote-Validierungsanfrage senden? Wie soll ich herausfinden, welches Formular validiert wird? Oder sagen Sie, dass Sie die formID senden sollen, wenn das Formular tatsächlich eingereicht wird? – EvilAmarant7x
@evil Ja, ich sage genau das, d. H. Sie senden formId als zusätzliches Datenelement. Ich habe etwas Code hinzugefügt, um mich zu informieren, lassen Sie mich wissen, wenn Sie weitere Fragen haben –
Vielen Dank für den Hinweis! Obwohl ich nicht genau das gebrauchen kann, was du gepostet hast (meine Seite hat alles auf einmal eingereicht), gab es mir die richtige Idee. – EvilAmarant7x