générateur formulaire/select list

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 : générateur formulaire/select list

par momox » 26 déc. 2007, 14:02

Autant pour moi, je n'avais pas vu qu'on était dans javascript, ajax...
@++ ;)

par Invité » 25 déc. 2007, 19:15

hum, ton exemple est en php et j'ai pas réussi à le reproduire en javascript.
Pas même réussi à trouver de ressources sur le transtypage javascript...

par momox » 25 déc. 2007, 13:51

Tu peux utiliser le transtypage je crois en faisant la chose suivante:
$array = (array) $object;
A vérifier tout de même, je sais que l'inverse est possible en tout cas.
@++ ;)

par Invité » 25 déc. 2007, 12:21

Bonjour,

join() ne fonctionne que sur les tableaux...ya til un moyen de convertir un objet en tableau?

par Truc » 24 déc. 2007, 13:17

Je ne pas lu tout le schmilblick mais join() convient à ce que tu demandes dans le dernier message.

par Invité » 24 déc. 2007, 13:09

heu, juste une petite précision:
je dois maintenant mettre ce tableau de valeurs dans le input hidden.

La valeur du input hidden peut elle directement contenir un tableau, ou faut-il traiter le tableau avant?

Mon souci est que la valeur du input doit pouvoir être comprise ensuite par php.
Je ne peux donc pas utiliser escape() pour convertir le tableau en chaine de caractères.

J'ai essayé toString() sur le tableau mais ça me renvoie [object] aulieu de "valeur1, valeur2, valeur3".
function transListValues (val)
{
	alert (val.toString());
}
Comment faire cela?

par Truc » 24 déc. 2007, 13:08

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)

par Calimero » 24 déc. 2007, 13:03

Noyez Joël :D

par Invité » 24 déc. 2007, 13:02

ok, j'ai trouvé :
function transListValues (val)
{
   alert (val[0].value);
}
Merci bcp et joyeux noel!

par Invité » 24 déc. 2007, 13:00

alert(val) me renvoir object, mais alert (val[0]) ne me renvoie pas la première valeur.
Comment afficher les valeurs de l'objet options?

par Invité » 24 déc. 2007, 12:58

super, ma fonction transListValues() me renvoie maintenant [object], ce qui me semble plus ou moins normal (j'attendais un tableau).
Dans la fonction, j'essaye mainenant d'accéder à une valeur du tableau en faisant:
//même fonction que plus haut, mais simplifiée:
function transListValues (val)
{
	alert (val[0]);
}

par Calimero » 24 déc. 2007, 12:44

Deux remarques :

1- Enlève les crochets après options ici :
<input type="submit" id="sauv" name="sauv" value="Sauvegarder" onClick="transListValues (document.forms[0].MaListe.options);"/> 
2- Préfère faire ce traitement dans un onSubmit sur le formulaire plutôt qu'un onclick sur le bouton submit.

Et retente :-)

par Invité » 24 déc. 2007, 12:05

J'ai créé la fonction suivante pour récup toutes les valeurs du select. Le select s'appelle Maliste . J'utilise toString pour préparer les données anvant de les mettre dans le input hidden:
function transListValues (val)
{
	var tab = val.toString();
	alert (tab);
}
J'appelle la fontion comme ceci:
<input type="submit" id="sauv" name="sauv" value="Sauvegarder" onClick="transListValues (document.forms[0].MaListe.options[]);"/> 
Aucune valeur retournée. C'est normal?

par Calimero » 24 déc. 2007, 11:51

Quelques pistes par ici : http://fr.selfhtml.org/javascript/objets/options.htm

Tu peux le faire en javascript en parcourant la propriété options de ton select, qui est un tableau.

Par contre si ta question concernait la récupération de tout ça en php, je ne vois que deux façons de le faire :

- En sélectionnant au préalable toutes les valeurs du select (ce qui dans ton cas n'est sans doute pas envisageable)
- En stockant les valeurs lues en javascript comme je te l'expliquais plus haut sous forme de chaîne, par exemple dans un input hidden, juste avant le submit() de ton formulaire (l'évènement onSubmit pourrait alors te dépanner).

En espérant que ça t'aide ;-) Joyeuses fêtes 8-)

par Invité » 24 déc. 2007, 11:38

ok, merci pour ta réponse. J'ai effectivement confondu "appliquer un événement à hidden" et "manipuler hiden avec js".
Ce qui m'intéresse c'est de manipuler donc je devrais pas être bloqué selon tes dires.

Un autre pb: avec js, je sais récupérer UNE valeur de liste déroulante (celle qui est sélectionnée) , mais comment récupérer TOUTES les valeurs d'un select multiple, sélectionnées ou pas?