Je cherches depuis quelque temps à valider un un formulaire, que j'ai créé, grâce à une fonction.
Ma première étape de validation est celle-ci ("tooltip" est le nom des messages d'erreur)
var $nom = $("#nom");
var $check = {}; // On met toutes nos fonctions dans un objet littéral
$check['nom'] = $(function() {
if(!$nom.val().match(/^[A-Z]([a-z-]*)[a-z]+$/)) {
$nom.next(".tooltip").show();
return false;
} else {
$nom.next(".tooltip").hide();
return true;
}
});
J'ai plein d'autres "check". Mais là où ça pose problème, c'est que cette fonction ne fait rien de visible. Il faut donc une deuxième étape de validation qui serait la fonction suivante sauf qu'elle n'utilise pas JQuery donc (je suppose que c'est pour cela qu'elle ne fonctionne pas) :
$(function() {
var $inputs = $('input:text'),
$inputsLength = $inputs.length;
for (var i = 0 ; i < $inputsLength ; i++) {
$inputs[i].keyup(function(e) {
$check[e.currentTarget](e.currentTarget); // "e.target" représente l'input actuellement modifié
}, false);}
});
Mon problème est que je n'arrive pas à la traduire en JQuery.
Si quelqu'un sait comment faire...
Merci.
Salut,
J'ai l'impression qu'il y a un problème car la fonction ne s'exécute qu'au début : si je remplis correctement le formulaire et que j'actualise la page ça fonctionne, sinon, non.
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)
La question n'était pas résolue, mais j'ai fini par trouver... il fallait juste mettre la fonction $('input:text').keyup(function(){ au tout début du code. Bon maintenant, il me reste à voir pour l'AJAX. Merci.