Lister des <input> - HTML/CSS - Programmation
Marsh Posté le 02-04-2007 à 10:11:02
Pour ceux que sa intéresse, voici mon code complet...
Au cas où j'ai pas été clair dans mes explications, sa peut permettre de comprendre ce que je souhaite réaliser:
Ma page html et mon code javascript dans l'en-tête:
Citation : <html> |
La feuille de style qui va avec:
Citation : /****** feuille de style du formulaire ******/ |
Le formulaire étant évidemment juste un exemple de ce que je souhaite obtenir...
Marsh Posté le 02-04-2007 à 10:15:19
note : j en'ai pas lu le code, je dis donc peut etre des conneries
Est-il possible de faire en sorte de réinitialiser tous les <input> présent dans un <div> sans connaitre leur numéro et sans modifier les valeurs des autres <input> ? Comment ?
Code :
|
Marsh Posté le 02-04-2007 à 10:18:12
Je vais essayer ce que tu me dis... sa pourrais le faire...
Marsh Posté le 02-04-2007 à 10:46:54
Ta solution me convient parfaitement !!!
Le seul petit truc c'est que idDiv ne doit pas être placé entre guillement dans le
Citation : document.getElementById(idDiv) |
Sinon c'est parfait, j'obtient exactement ce que je voulais...
Je te remercie beaucoup pour ton aide... Avec mon niveau en javascript j'aurai galéré encore un bon moment..
Marsh Posté le 02-04-2007 à 10:58:02
entre guillemet : tu cherche le div qui à pour identifiant idDiv
sans guillement : tu cherche le div qui à pour identifiant le contenu de la variable idDiv
Marsh Posté le 13-11-2007 à 11:42:40
flo850 a écrit :
|
Bonjour,
Je suis un petit nouveau sur ce forum et également un petit nouveau en HTML,JAVAscript, JAVA et autre.
J'ai exactement le même type de fonction à faire que jadorelescss38 et j'ai donc intégré le morceau de code proposé, mais sans succès.
Code :
|
Mais j'ai une erreur sur l'instruction [i]var t_input = document.getElementById(element).getElementsByTagName('input'); : Erreur : 'document.getElementById(...)' a la valeur null ou n'est pas un objet.
Et bien entendu, la valeur de mes 2 boutons radio n'est pas réinitialisée (que la valeur retournée par l'id "lignes" soit égale à null ou rien s'il est masqué).
Merci d'avance pour votre aide.
Marsh Posté le 13-11-2007 à 11:59:04
montre('lignes') et cache('lignes')
c'était expliqué dans le post de flo850 juste au dessus du tien
Marsh Posté le 13-11-2007 à 12:02:10
dans ton onload, tu as "onload="cache(lignes)", et c koi 'lignes'
et d'ailleurs tu passes en param le fameux "lignes" alors que c meme pas initialisé ? si tu fais un getElementById dessus, vu qu'il est null c clair qu'il va te retourner que dalle
EDIT:
si ton "lignes" c l'element <div id="lignes">, alors tu devrais faire un getElementById avant... et le passer en tant que chaine
Marsh Posté le 13-11-2007 à 13:57:50
Effectivement, avec les guillemets ça marche beaucoup mieux. Je l'avais compris pour le GetElementById, mais pas pour le reste.
J'ai juste eu à corriger le reste de mon code, mais c'est nickel maintenant.
Merci à tous.
Marsh Posté le 02-04-2007 à 10:05:01
Bonjour,
je vous explique ce que je compte faire:
j'ai un formulaire dont l'ensemble des <input> sont répartis dans des <div>...
Des <div> pouvant eux-mêmes être présents dans des <div> (principe des poupées russes).
Grâce à la fonction suivante, je peux savoir combien de <input> sont présents dans mon <div> dont l'id est entré en paramêtre:
var taille2 = nbr1 + document.getElementById(id).getElementsByTagName('input').length -2;
(nbr1 correspondant au numéro du premier <input> présent dans mon <div>... car le premier <input> de mon <div> n'est pas forcément le premier <input> de mon formulaire)
Mon problème c'est donc sa: j'ai besoin de savoir la chose suivante: Le premier <input> de chaque <div> est le combien-ième de mon formulaire ?
J'ai besoin de cette information afin de pouvoir réinitialiser tout les <input> présents dans un <div> lors de l'appel de ma fonction. Pour cela je fais la boucle suivante:
for (i=nbr1-1; i<=taille2; i++){
//Pour débugger: document.write(formulaire.elements[i] + "<br>" );
formulaire.elements[i].checked="";
formulaire.elements[i].value="";
//Pour débugger: window.alert ("123" );
}
(nbr1 étant le numéro du premier <input> à réinitialiser et taille2 étant le numéro du dernier <input> à réinitialiser.
taille2 étant l'addition du numéro de mon premier <input> + le nombre d' <input> présent dans mon <div> )
Tout fonctionne correctement, mais je souhaite simplifier ma fonction.
A l'heure actuelle, je dois numéroter l'ensemble de mes <input> et entrer deux paramêtres à ma fonction:
- l'id du <div>
- le numéro du premier <input> du <div> en question...
Je voudrais donc ne pas avoir à numéroter l'ensemble de mes <input> et ne pas avoir a rentrer le numéro du premier <input> de chaque <div> en paramêtre...
Ainsi ma fonction n'aura plus qu'un paramêtre: l'id du <div>
Ce que je veux savoir:
Il y a-t-il un moyen de connaitre le numéro du premier <input> de chacun de mon <div> ? Comment ?
Le cas échéant:
Est-il possible de faire en sorte de réinitialiser tous les <input> présent dans un <div> sans connaitre leur numéro et sans modifier les valeurs des autres <input> ? Comment ?
Mes compétences en javascript sont assez limitées, mais je suppose que ce que je cherche à faire est réalisable... Sin je me trompe, prévenez-moi...
Merci d'avance.