éléments form

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 : éléments form

par Invité » 09 avr. 2006, 21:55

personne ne voit comment supprimer la dernière incrémentation de cette boucle?

par Invité » 08 avr. 2006, 10:50

il y a une boucle en trop, et je crois que l'erreur se produit à ce moment là, car aucune valeur n'est trouvée (après le dernier élément du form).
(a-1) ne passe pas et génère
invalid for/ in left hand-side

par Invité » 08 avr. 2006, 10:45

tu as raison, la var i est inutile.
Le script me renvoie bien les valeurs du form, mais j'ai aussi l'erreur javascript
MonForm.elements[a] has no properties
de quoi s'agit-il?

par PhilFree » 08 avr. 2006, 09:41

Salut,

Tu as donc:
var a;
var i = 0;
var MonForm = document.forms["form1"];
for( (a-1) in MonForm)  {
  i++;
  alert("$" + MonForm.elements[a].name + ' = ' + MonForm.elements[a].value + '\n');
}
C'est correct, mais à quoi sert la variable i :?:
var i = 0;
...
  i++;

par Invité » 08 avr. 2006, 09:20

pour enlever la dernière incrémentation, j'ai fait ceci:
for( (a-1) in MonForm) 
{ 
  ...
} 
La syntaxe ne semble pas être bonne...avez vous une idée?

par Invité » 07 avr. 2006, 18:33

seul problème, c'est qu'il y a une incrémentation en trop. la boucle s'exécute pour tous les éléments du form + 1...comment arranger ça?

par Invité » 07 avr. 2006, 17:10

pour ceux que ça intéresse, voici le script qui permet de récup toutes les vars d'un form en une fois:
var a;
var i = 0;
var MonForm = document.forms["form1"];
for( a in MonForm)
{
  i++;
  alert("$" + MonForm.elements[a].name + ' = ' + MonForm.elements[a].value + '\n');
} 

par Invité » 07 avr. 2006, 16:37

ya til l'équivalent de la fonction foreach (php) en javascript?

par Invité » 07 avr. 2006, 14:26

bon ben a priori c'est pas possible...la seule solution de faire un array avec les noms des éléments du form.
en suite je parcours le tableau en utilisant la syntaxe
for (i...) '
document.forms["form"].elements["var_array+i"]=...
}

par Invité » 07 avr. 2006, 11:27

j'a bien dormi et effectivement ça va mieux!
dans la balise script, j'ai mis type au lieu de language.

sinon pour en revenir à ma question, n'y a -t-il pas un moyen de récupérer en javascript toutes les valeurs d'un formulaire sans avoir à l'envoyer?

par PhilFree » 07 avr. 2006, 00:29

Bien sûr que ça marche...il se fait tard tu devrais aller dormir et relire tout ça demain matin... :wink:

par Invité » 07 avr. 2006, 00:29

ça veut dire qu'on ne peut pas récupérer les valeurs avec javascript, sans envoyer le formulaire?

par Invité » 07 avr. 2006, 00:26

je ne comprends pas...ceci marche:
alert("bonjour"); 
mais ceci ne marche pas:
var test="bonjour"; 
alert(test); 

par PhilFree » 07 avr. 2006, 00:18

La page get.htm:
<html>
<head>
	<title></title>
</head>

<body>
<script type="text/javascript">
<!--
alert(nReq = location.search);

//-->
</script>

</body>

</html>
La page formulaire.htm:
<html>
<head>
	<title></title>
</head>

<body>
<form method="get" action="get.htm">
  <p>Nom : <input type="text" name="nom" /></p>
  <p>Prénom : <input type="text" name="prenom" /></p>
  <p>Téléphone : <input type="text" name="telephone" /></p>
  <p><input type="submit" name="Submit" value="Soumettre" /></p>
</form>

</body>

</html>

par Invité » 07 avr. 2006, 00:18

j'ai oublié une phrase, lol. je veux dire que le script ne fonctionne pas, qu'il soit placé en bas du formou dans les balises <head>