87 votes

Comment puis-je utiliser l’attribut FOR d’une balise LABEL sans l’attribut ID sur la balise INPUT

Existe-t-il une solution au problème illustré dans le code ci-dessous ? Commencez par ouvrir le code dans un navigateur pour aller droit au but et ne pas avoir à parcourir tout ce code avant de savoir ce que vous recherchez.

154voto

user2046841 Points 331

il a été résolu ici : https://stackoverflow.com/a/8537641 il suffit de le faire comme ça

16voto

Draco Ater Points 8468

Le mieux, à mon avis, ce que vous pouvez faire, est de renommer toutes les cases à cocher, en ajoutant un préfixe à leurs identifiants, par exemple ``

De cette façon, vous n’aurez aucun conflit avec d’autres identifiants sur une page, et en cliquant sur l’étiquette, vous basculerez la case à cocher sans aucune fonction javascript spéciale.

3voto

animuson Points 23184

En termes simples, un ID n’est censé être utilisé qu’une seule fois sur une page, donc non, ils ne concevraient pas une solution de contournement pour plusieurs ID sur une seule page qui ne sont pas censés exister.

Pour répondre au reste de la question : non, l’attribut ID est la seule chose que l’attribut « for » d’une étiquette examinera. Vous pouvez toujours utiliser un événement onclick JavaScript pour récupérer l’entrée par son nom et la modifier, bien que cela semble trop compliqué lorsque vous pouvez simplement résoudre votre problème d’IDENTIFICATION, ce qui aurait beaucoup plus de sens.

1voto

FantomX1 Points 132

Peut-être qu’une solution simple et simple serait d’utiliser uniqueid() php ou une autre fonction alternative de langage de programmation.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X