Le problème est que tu n'écoutes pas ce qu'on te dit...
L'attribut name est différent de l'attribut id;
Le problème est que tu n'écoutes pas ce qu'on te dit...
L'attribut name est différent de l'attribut id;
Bonjour,
Je le sais.Envoyé par javatwister
Pour le radio je dois avoir un id car il y a un label.
Pour le text :
name="unit[12-OS1-L-EXT-AD]"
Je ne vois pas comment cibler ce name.
Donc j'ajoute :
id="U12-OS1-L-EXT-AD"
Ah bon? Il n'apparaît pas dans ton code!
Et puis il suffit d'insérer ton input dans un label et l'association se fait automatiquement;
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 // le tableau s'appelle "t" // collection des boutons radio du tableau const r=document.querySelectorAll("#t input[type=radio]"), // collection des champs texte du tableau txt=document.querySelectorAll("#t input[type=text]"), // champ texte optionnel opt=document.querySelector("#F824"); // quand tu sélectionnes un radio, le nombre correspondant s'affiche en bas // et tu donnes le focus au champ texte de la même ligne r.forEach((v,i)=>{v.addEventListener("click",()=>{opt.value=parseInt(v.value);txt[i].focus()})}) // quand tu cliques dans un champ texte, le radio correspondant est sélectionné // et le nombre correspondant au radio s'affiche en bas txt.forEach((v,i)=>{v.addEventListener("click",()=>{r[i].checked=true;opt.value=parseInt(r[i].value)})})
Bonjour Javatwister,
Merci de ton suivi.
Je regarde ce week-end à tête reposée.
Bonjour Javatwister,
Ton code fonctionne très bien, voir ce codepen.
Je ne connaissais pas la fonction parseInt, si je comprends elle récupère le chiffre entier dans une chaine.
parseInt (6-OS1-S-EXT-DG)
// Retourne 6
Tu ne peux pas le savoir mais cette valeur est la référence produit fournie par le fabricant sur laquelle je n'ai pas de contrôle.
Pour un autre fabricant, ce sera B1223A-Preco
Et la valeur à sortir est 4...
C'est pourquoi j'utilise l'id pour la valeur de #F824
value="B1223A-Preco" id="AB1223A-Preco--4"
Pour me passer de l'id, il faudrait modifier la valeur de value par exemple comme suit :
value="B1223A-Preco--4"
(en supposant qu'aucune référence fabricant ne comprenne '--' mais le problème est le même avec id et c'est facile à contrôler)
IL faudrait autre chose que parseInt pour récupérer "4" mais c'est facile.
Cela oblige bien sûr à une correction côté serveur pour à l'inverse transformer "B1223A-Preco--4" en "B1223A-Preco" mais là encore c'est facile.
Tout cela pour supprimer mes id...
Adepte d'un code html le plus simple possible je réfléchis à cette piste.
Encore merci de ton suivi.
Ben écoute, si tu as la solution, c'est parfait;
Bonjour javatwister,
Sur ce coup j'ai l'impression de savoir ce qu'il faut faire mais tes codes m'ont beaucoup aidé.
Encore merci.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager