Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
757 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Comment connaitre la position d'un champ dans un formulaire ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment connaitre la position d'un champ dans un formulaire ?

n°1606005
fifiz
Posté le 29-08-2007 à 20:35:16  profilanswer
 

Bonjour,
 
Je voudrais savoir comment récupérer la position d'un champ dans un formulaire lors de l'exécution d'un évenement onchange.
 
Merci d'avance pour la personne qui a la réponse car la je bloque completement =(
 
A+


Message édité par fifiz le 29-08-2007 à 20:36:45
mood
Publicité
Posté le 29-08-2007 à 20:35:16  profilanswer
 

n°1606007
zecrazytux
Posté le 29-08-2007 à 20:37:23  profilanswer
 

tu peut être plus explicite ?
je comprends pas ce que tu entend par position là ?


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1606014
fifiz
Posté le 29-08-2007 à 21:25:48  profilanswer
 

En effet, j'aurais pu détailler un peu.  
 
sur un champ d'un formulaire j'ai un evenement :
onchange="mafonction(this)"
 
avec une fonction :
mafonction(_oField) {
   //là je voudrait modifier la valeur du champs précédent du formulaire.
   _oField.form.elements[????].value = "ma nouvelle valeur";
   //avec ???? > index du champ précédent dont je ne peux pas connaitre le nom.
   }
 
Tout ça s'inscrit dans un contexte ou le formulaire est généré automatiquement sur la base de templates paramétrables donc je ne peux pas faire ce que je veux (par exemple donner un nom fixe au champ à modifier).
 
Merci d'avance.

n°1606015
zecrazytux
Posté le 29-08-2007 à 21:31:55  profilanswer
 

regarde du coté de DOM
 
peut être ceci: http://fr.selfhtml.org/javascript/ [...] us_sibling ?


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1606018
fifiz
Posté le 29-08-2007 à 21:44:51  profilanswer
 

sauf que la c'est pas dans l'arbre html que je veux me déplacer mais dans l'array "form"
 
En réalité le changement de valeur était un exemple, c'est un peu plus compliqué et je vais pas détailler mais dans le html c'est trop compliqué car je ne sais même pas ce que je cherche input/select/password/checkbox .... et le tout est noyé dans des tableau des div ...
 
Il y a toujours la solution de parcourir tout le formulaire et de regarder quel est le champs précédent mais c'est un bout de code qui va être appellé très souvent et sur des long formulaires ça risque de ramer.
 
Je veux bien reconnaitre que mon cas est un peu particulier mais c'est quand même bête qu'un champs dans un formulaire n'ai pas une propriété indiquant sa position au sein de celui-ci.


Message édité par fifiz le 29-08-2007 à 21:51:08
n°1606020
ceyquem
E falso sequitur quodlibet
Posté le 29-08-2007 à 21:57:31  profilanswer
 

quand tu parles de précédent, tu veux dire déclaré avant dans le code html ? à ma connaissance il n'y a pas de moyen de le trouver simplement autrement qu'en faisant une boucle.
 
de plus, est-on sur que si on fait une boucle, l'ordre soit bien celui de l'affichage ?

n°1606023
zecrazytux
Posté le 29-08-2007 à 22:03:17  profilanswer
 

clairement pas !
tu code a l'aveuglette ?
 
il faut penser a ce qu'on veux faire avant de prendre sa plume ;)
 


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1606025
ceyquem
E falso sequitur quodlibet
Posté le 29-08-2007 à 22:05:09  profilanswer
 

c'est bien ça, du coup la notion "d'ordre" telle que décrite par fifiz ("champ précédent" ) n'est pas transcriptible en code

n°1606031
fifiz
Posté le 29-08-2007 à 22:13:20  profilanswer
 

Et il prends quoi comme ordre ? par ordre alphabétique ? il fait une loterie ?  
 
Je suis en train de modifier un traitement ou à l'origine justement il faisait une boucle sur forms[n].elements[i] pour i = 0 à forms[i].length et il n'y a jamais eu de problème d'ordonnancement.
 
Vous avez des sources ?


Message édité par fifiz le 29-08-2007 à 22:13:52
n°1606033
zecrazytux
Posté le 29-08-2007 à 22:16:38  profilanswer
 

tout simplement la mise en page (via les css notament) peu foutre tes elements dans un ordre inverse de celui dans lequel ils ont étés écrits dans le fichier html. (genre ta 15 div, la dernier div peu etre, grace a quelques properties bien placées, être tout en haut de ta page)
 
bon et même avec ta boucle tu vas aller ou comme ça ? où t'arrete tu ?


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
mood
Publicité
Posté le 29-08-2007 à 22:16:38  profilanswer
 

n°1606034
ceyquem
E falso sequitur quodlibet
Posté le 29-08-2007 à 22:27:33  profilanswer
 

il est vrai que "de manière générale" les champs des formulaires apparaissent dans l'ordre où ils sont décrits dans le code source, mais ce n'est pas une règle fiable.
 
ça dépend de ce que tu veux faire. peux-tu expliquer à quoi sert ton script ?

n°1606050
fifiz
Posté le 30-08-2007 à 00:03:52  profilanswer
 

"bon et même avec ta boucle tu vas aller ou comme ça ? où t'arrete tu ?"
> Quand j'ai trouver le n° du champ recherché ... après je peux facilement adresser le champs précédent ou le champs suivant en faisant +1 ou -1 ... mais justement l'idée était de ne pas avoir à faire de boucle.
 
Donc si ce n'est pas possible de connaitre la position d'un champs dans le formulaire sans faire de boucle, je vais me démerder autrement.
 
Merci quand même.
 
A+

n°1606124
zecrazytux
Posté le 30-08-2007 à 10:04:13  profilanswer
 

comprends comment tu trouve le champs rehcercher si ta rien de spécifique (id, toussa)


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1606140
gatsu35
Blablaté par Harko
Posté le 30-08-2007 à 10:24:50  profilanswer
 

fifiz, le seul moyen est de parcourir la nodeList Elements de ton form. C'est le seul moyen existe. Ya rien d'autre [:spamafote], le DOM n'a rien de spécifique à cela (un index d'ordre de champ par exemple, un peu comme le rowIndex sur les TR)

n°1606161
anapajari
s/travail/glanding on hfr/gs;
Posté le 30-08-2007 à 11:04:40  profilanswer
 

En plus de la collection Elements de ton form , tu peux également te servir de tabIndex ( si ceux-ci ont été correctement réglés dans ton formulaire).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Comment connaitre la position d'un champ dans un formulaire ?

 

Sujets relatifs
Remplir formulaire depuis un autre siteFormulaire : envoyer des données dans le même fichier
création formulaire de rechercheCréation d'une image pour valider un formulaire
redimensionnement sous formulaire dans un etataide c++ et formulaire html
recuperer données d'un formulaire HTMLcreer formulaire (bon de commande) FrontPage
Formulaire GET dans fichier PHPcomment creer formulaire et envoyé par mail
Plus de sujets relatifs à : Comment connaitre la position d'un champ dans un formulaire ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR