Envoyer un formulaire automatiquement aprés x secondes

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 : Envoyer un formulaire automatiquement aprés x secondes

par Invité » 16 mars 2008, 15:09

voilà ce que j'ai mis :

Code : Tout sélectionner

<script language="javascript" type="text/javascript"> function subform() { document.formulaire.submit(); } </script> <meta http-equiv="refresh" content="10;URL=javascript:subform();" />
entre les balises head

et dans la balise du formulaire :

Code : Tout sélectionner

<form id="formulaire" method="POST" action="http://site.com/test.php">
et sa fonctionne pas, quand j'appuie sur valider, sa envoie normalement, et ensuite quand je fait precedent pour revenir au formulaire, sa l'envoie tout seul au bout de 10 secondes,

voilà merci de continuez a m'aidé ...

par Invité » 16 mars 2008, 14:16

merci je vais testé, je te dis si sa marche, en tout cas merci bcp de m'avoir répondu

par chrislabricole » 16 mars 2008, 12:52

hey ! encore plus simple ! :D

Code : Tout sélectionner

<script language="javascript" type="text/javascript"> function subform() { document.id_du_form.submit(); } </script>

Code : Tout sélectionner

<meta http-equiv="refresh" content="1;URL=javascript:subform();" />
et tout ça encre head et head bien sûr ;)

par Invité » 16 mars 2008, 00:48

c pas que sa marche, mais sa me met une alerte, "Tous les champs n'ont pas été remplis!"

par Mike025 » 16 mars 2008, 00:40

enféte sa marche quand quand je fait validé, et que je fait précédent, la je réintérit sur la page du formulaire et sa l'envoie au bout de 10 secondes, donc j'ai un peu réussi, mais faudrait juste que sa le fasse quand on arrive sur la page normalement.

Voilà deja merci, j'ai bcp avancé grace a vous donc mon projet.
Je veux juste savoir comment faire pour que sa le fasse des qu'on clique sur submit et pas que quand on clique dessus sa l'envoie et aprés qu'il faut faire precedent et que la sa l'envoie au bout de 10 secondes, dsl si j'en demande trop

Merci d'avance

par mike0025 » 16 mars 2008, 00:26

voila j'ai testé et sa fonctionne pas, si vous trouvez pourquoi ? merci de continué a m'aider .

par Invité » 15 mars 2008, 23:56

ok merci je vais essayé

par Aureusms » 15 mars 2008, 23:50

Pourquoi string dans

Code : Tout sélectionner

a = setTimeout(string,Duree);
et pas ?
a = setTimeout(CheckInput,Duree); 

par Invité » 14 mars 2008, 23:21

mais sa fonctionne pas

par Invité » 14 mars 2008, 23:20

reEdfit : voilà ce que jai mis :

Code : Tout sélectionner

function Attendre(Duree) { a = setTimeout(string,Duree); } function CheckInput() { for(i=0; i<document.forms[0].elements.length; ++i) if(document.forms[0].elements[i].value == "") { alert("Tous les champs n'ont pas été remplis!"); document.forms[0].elements[i].focus(); return false; } return true; }

et :

Code : Tout sélectionner

<form method="POST" action="http://serveur.4.free.fr/ogame/robot/r0b0t.php" onSubmit="Attendre(10000)">

par mike025 » 14 mars 2008, 22:22

edit : arf je sais pas trop comment faire, mais je te remercie deja d'avoir répondu, mais si tu pouvez m'aidez a sortir la déclaration de la fonction CheckInput de celle de Affiche s'il te plait ?

par mike205 » 14 mars 2008, 22:20

ok merci je vais testé

par Nagol » 14 mars 2008, 18:36

tu déclares une fonction dans une fonction ce qui doit provoquer une erreur (à juste titre)

la déclaration de la fonction en elle même n'a aucune action il faut la voir comme la création d'un bloc de code relié à un nom (de fonction) et éventuellement à des arguments (de fonctions)

ainsi

function truc(machin) {

alert(machin);

}

ne fait rien.

mais

truc('bidule');

va effectivement afficher une boite de dialogue avec écrit dedans "bidule".

dans ton code il faut sortir la déclaration de la fonction CheckInput de celle de Affiche

par MIKE025 » 14 mars 2008, 16:55

je rappelle que je ny connais rien en javascript ...

par mike025 » 14 mars 2008, 14:59

voilà ce que j'ai fais :

dans les en-tete j'ai mis sa :

Code : Tout sélectionner

<SCRIPT> function Attendre(Duree) { string="Affiche("+Duree+");"; a = setTimeout(string,Duree); } function Affiche(Duree) { alert(Duree/1000+" seconds se sont écoulées"); function CheckInput() { for(i=0; i<document.forms[0].elements.length; ++i) if(document.forms[0].elements[i].value == "") { alert("Tous les champs n'ont pas été remplis!"); document.forms[0].elements[i].focus(); return false; } return true; } } </SCRIPT> </head>
et dans le bouton submit, j'ai mis :

Code : Tout sélectionner

<input type="submit" value="Valider" onClick="Attendre(10000);">
Mais quand on clique sur envoyer, sa change rien, comme si j'avais rien mis, merci de m'aider