[JQUERY]Contrôle de formulaire dynamique

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [JQUERY]Contrôle de formulaire dynamique

Re: [JQUERY]Contrôle de formulaire dynamique

par albius » 07 juil. 2010, 09:14

C'est la conclusion sur laquelle j'avais fini par être arrivé. Merci bien.

Re: [JQUERY]Contrôle de formulaire dynamique

par AB » 06 juil. 2010, 18:27

Parce que c'est l'algo (la logique du code) qui le demande pour ce que tu veux faire !

La bonne formule est :

Code : Tout sélectionner

var temoin = false; boucle : foreach ... { if (champ non vide) temoin = true;}
Si je fais :

Code : Tout sélectionner

var temoin = false; boucle : foreach ... { if (champ non vide) temoin = true; else temoin = false}
Le premier champ non vide va retourner temoin = true mais si le dernier champ testé dans la boucle est vide alors temoin = false et le résulat ne sera pas bon. Donc dans cet algo il ne faut pas de else. Tu comprends ?

Re: [JQUERY]Contrôle de formulaire dynamique

par albius » 06 juil. 2010, 16:50

Bonjour,
Notamment dans ma boucle, il n'y a pas de else...
Justement, c'est cela que je ne comprends pas... Pourquoi dès lors que l'on veut intégrer une autre condition, les résultats ne sont plus les mêmes ?
merci,

Re: Contrôle de formulaire dynamique

par AB » 05 juil. 2010, 19:42

Il y a quelque chose qui m'échappe encore...
merci,
Je t'ai donné la (une) bonne méthode pour faire ce que tu demande... Essaies d'abord de la tester avant de faire autre chose qui ne fonctionne pas :roll:
Notamment dans ma boucle, il n'y a pas de else...

Re: Contrôle de formulaire dynamique

par albius » 05 juil. 2010, 17:26

Bonjour,

Oui, j'ai oublié de préciser qu'il s'agit de jquery... J'avais également pensé à me servir d'une var témoin, et voici ce que j'ai écris (après modification du premier code)

Code : Tout sélectionner

$(function(){ $("#formCompta").submit(function(){ var temoin = true // On vérifie si au moins un champs a été renseigné $("input[name^='cout']").each(function(i, champs){ if($(champs).val() == ""){ temoin = true; return false; } else{ temoin = false; } }); if(temoin == true){ $("#content").append('not Ok!'); } else{ $("#content").append('it\'s Ok!'); } return false; }); });
Mais ce code ne répond pas précisément à la demande. 3 cas possibles:
Si aucun des champs n'est rempli, j'ai bien 'not ok!' qui apparaît
Si tous les champs sont remplis, 'its ok!'
Mais si l'un des champs n'est pas rempli, c'est 'not ok!' qui est lu. Or, ce n'est pas bon, puisque c'est un champs minimum qui doit être renseigné pour que cela puisse être valable. Et donc le formulaire envoyé.
Il y a quelque chose qui m'échappe encore...
merci,

Re: Contrôle de formulaire dynamique

par AB » 02 juil. 2010, 18:17

Je comprend rien à ton code, c'est une lib ?

Sinon sur le principe tu peux faire

var temoin = false;

boucle : foreach ... { if (champ non vide) temoin = true;}

if temoin = true -> au moins un champ est rempli -> envoi du formulaire.

[JQUERY]Contrôle de formulaire dynamique

par albius » 02 juil. 2010, 14:04

Bonjour,

J'ai un formulaire généré dynamiquement. Les noms des champs reviennent à
input id="cout[1]" ... input id="cout[2] etc...
J'aimerais toutefois vérifier si au moins l'un des champs n'est pas vide avant l'envoie du formulaire.

Code : Tout sélectionner

if($('input[name^=cout]').val()!=""){ ... } else{ ... };
Je n'obtiens qu'une seule valeur avec ce script. J'ai donc pensé à l'inclure dans une boucle. Mais si condition est exacte, je ne vais pas à chaque itération envoyer le formulaire:

Code : Tout sélectionner

$.post("repart_et_tva/treatmentCompta.php", $("#formCompta").serialize(), function(data){ ... if(data == ""){ $("#content").fadeOut('normal', function(){ ... }
Comment puis-je faire alors ?
merci,