J'essaie de valider à distance un champ en examinant deux champs différents. Le problème est, dans tous les exemples que je vois sur comment faire à distance de valider l'envoi de données supplémentaires, ils utilisent l'id de l'autre champ qui est en cours de traitement. Ainsi, l'exemple de la page API de validation de jQuery pour remote() utilise "#username" et l'envoie en plus du champ email.Envoi d'informations supplémentaires avec la validation de formulaire à distance JQuery
Ma page est étrange, elle a plusieurs formulaires qui sont identiques et le nombre de formulaires sur la page est variable, donc je ne peux pas avoir un identifiant unique pour chaque champ. Existe-t-il un moyen de savoir quel champ ou formulaire est en cours de validation/d'appel distant? J'ai essayé quelque chose comme le suivant, parce que je pensais que $ (this) aurait été la zone de texte en cours de validation, ou la forme individuelle en cours de validation, mais cela ne semble pas être le cas.
number: {
required: true,
number: true,
remote: {
url: "confirm.php",
data: {
toy: function() {
return $('select[name="toy"]:selected',this).val();
}
}
}
}
Merci, Jared
Edit: J'ai fini par trouver un moyen de le faire fonctionner. Le conseil de passer le formulaire m'a donné l'idée.
Comme j'avais plusieurs formulaires sur la page, j'utilisais $ ('form'). Each (function() {$ (this) .validate ({....})});
Je viens de sauver une référence à la forme actuelle avec la forme var = $ (this) avant l'appel de validation, puis au sein de l'exemple que je donnais plus tôt, je ne devais faire un petit changement:
data: {
toy: function() {
return $('select[name="toy"]',form).val();
}
}
Et maintenant chaque champ sait à quelle forme il appartient!
Je suis désolé, je ne comprends pas. Voulez-vous envoyer le formID en tant que donnée supplémentaire dans la demande de validation à distance? Comment suis-je censé obtenir quel formulaire est validé? Ou dites-vous d'envoyer le formID lorsque le formulaire est effectivement soumis? – EvilAmarant7x
@evil Oui, je dis exactement cela, c'est-à-dire que vous envoyez un fichier formId en tant que donnée supplémentaire. J'ai ajouté du code à eleborate, faites-moi savoir si vous avez d'autres questions –
Merci pour le conseil! Bien que je ne puisse pas utiliser exactement ce que vous avez posté (ma page a tout soumis à la fois), cela m'a donné la bonne idée. – EvilAmarant7x