elements de formulaire au nom inconnu - HTML/CSS - Programmation
Marsh Posté le 22-12-2003 à 21:28:22
Ton HTML généré ressemble à quoi ?
Marsh Posté le 23-12-2003 à 11:25:25
Il ressemble a ce que je veux!
pour i de 1 à n
<td><input type=text name=cbox[1] D6D3CE' disabled onclick=func_able(1)></td>
<td><input type=text name=toto[1] D6D3CE' disabled></td>
<td><input type=text name=cbox[2] D6D3CE' disabled onclick=func_able(2)></td>
<td><input type=text name=toto[2] D6D3CE' disabled></td>
...
<td><input type=text name=cbox[n] D6D3CE' disabled onclick=func_able(n)></td>
<td><input type=text name=toto[n] D6D3CE' disabled></td>
mais dans le js: if(document.form.cbox[0].disabled) y reconnait pas!?
Marsh Posté le 23-12-2003 à 11:53:34
heu c'est quoi ces crochets, cette espace et cette apostrophe dans le nom
Puis en HTML faut mettre les valeurs des attributs entre guillemets ou apostrophes
Marsh Posté le 23-12-2003 à 12:05:49
dsl un abbus de CtrlC CtrlV lol
qt au "" c'est pour pas avoir de pb avec php
en propre ca fait :
<td><input type=text name=cbox[1] disabled onclick=func_able(1)></td>
<td><input type=text name=toto[1] disabled></td>
<td><input type=text name=cbox[2] disabled onclick=func_able(2)></td>
<td><input type=text name=toto[2] disabled></td>
...
<td><input type=text name=cbox[n] disabled onclick=func_able(n)></td>
<td><input type=text name=toto[n] disabled></td>
le message d'erreur sur la ligne if(document.form.cbox[0].disabled) c qui dit document.form.cbox Null. Alors que c pas vrai!!! Mais j'ai l'impression qui bloque sur mes [].
Marsh Posté le 23-12-2003 à 12:08:54
T'appelles ça propre ?
Ces crochets dans le nom je ne vois pas comment ça peut marcher. cbox[0] = le premier element d'une liste appelée cbox
Et pour PHP, bah suffit de mettre des ' en HTML dans les chaînes " PHP, ou l'inverse. (ou mettre des \ devant les guillemets).
Marsh Posté le 23-12-2003 à 12:15:03
Bon d'accord j'ai pas tendance a faire du propre mais la j'ai fait l'effort de joli \" partout et pourtant il n'obtient pas l'objet attendu
Marsh Posté le 23-12-2003 à 12:27:01
Bon les crochet, ça sert à recevoir les données dans des tableaux en PHP !
Le problème n'est pas là. En JS, c'est l'ID qu'il faut utiliser, pas le NAME ! ! ! !
Ton HTML généré doit ressembler à ça :
Code :
|
Avec les " et le ; pour le javascript dans les événements
En js, tu fait comme ça pour tester :
Code :
|
Je sais pas ce que tu veux en faire, mais il me semble que tu te fais chier Grâve...
M'enfin, c'est normal au début
Marsh Posté le 23-12-2003 à 13:24:01
Pas besoin d'id ; pour les forumulaires on peut accéder aux éléments via leur nom comme il le faisait...
mais comme je l'ai dit plusieurs fois (je parle dans le vide ?) des crochets dans les noms ça ne passera pas !
Marsh Posté le 23-12-2003 à 14:09:27
Les crochet ça passe ! ! !
demo : http://www.surleau.org/test/demo.php
Et les IDs, c'est pas pour les chiens !
Surtout si tu ne numérote pas les []
M'enfin ça marche avec document.form à condition d'avoir une form qui s'appelle form
Surtout, s'il met tout disabled, y'a aucune chance qu'un 'onclick' se déclanche
Marsh Posté le 23-12-2003 à 14:36:34
mara's dad a écrit : Les crochet ça passe ! ! ! |
ha tiens, j'aurai appris quelque chose
Marsh Posté le 23-12-2003 à 15:29:42
Ben en fait, avec la syntaxe document.NomDuFormulaire.NomDuChamps y'a des problèmes.
D'ou l'utilisation de l'id et de document.getElementById('IdDuChamps') qui en plus d'être indépendante du formulaire est standard !
La syntaxe document.<form_name> ne fait pas partie du DOM.
En revanche document.forms est une collection qui elle fait partie du DOM. Idem pour elements qui est aussi une collection.
On peut donc aussi ecrire :
Code :
|
M'enfin, je préfère les IDs ou même 'this'...
Marsh Posté le 23-12-2003 à 15:33:38
Un de mes exemples préférés :
Code :
|
J'ai enlevé les commentaires, c'est plus drôle
Marsh Posté le 23-12-2003 à 15:36:24
waouhh,
on voit les pros!! Content de vous avoir appris et amusez à la fois c. Juste histoire d'apprendre un peu plus: faut voir les "name" comme des classes et les "id" comme des sous classes ou je suis mal formaté? Et puis pour finir <script> ca suffit, le <script language=JavaScript... c juste pour les debutants?
en tt cas merci.
Marsh Posté le 23-12-2003 à 15:44:44
Je vois le NAME comme l'attribut qui sera envoyé comme identifiant la valeur du champs pour le serveur qui reçois le formulaire.
L'ID est un identifiant qui permet d'avoir accès à l'objet HTML dans le DOM du navigateur.
Tous les tags peuvent avoir un ID. Le name, je le réserve au éléments de formulaires, même si la norme l'autorise. Par exemple pour une image http://www.w3.org/TR/html401/struc [...] f-name-IMG
En même temps, il disent bien qu'on devrait utiliser l'ID dans un script, et que si le name est autorisé pour une image par exemple, c'est pour des raisons de compatibilité.
Marsh Posté le 23-12-2003 à 15:46:52
waaaaouuhhhhh! le resultat est plus plaisant que le code! je crois que je vais mieux comprendre les noeuds et les this avec ca mais bono les fetes de noel ca sera opas pour cette année!
Marsh Posté le 23-12-2003 à 16:03:23
ctnul a écrit : Et puis pour finir <script> ca suffit, le <script language=JavaScript... c juste pour les debutants? |
aucun des deux.
Normalement on doit mettre <script type="text/javascript">
Marsh Posté le 22-12-2003 à 18:17:34
bonjour,
j'ai généré des eleemnts dans un formulaire a l'aide de php du style:
pour i de 0 à fin
<td><input type=text name=cbox[$i] D6D3CE' disabled onclick=func_able($i)></td>
<td><input type=text name=toto[$i] D6D3CE' disabled></td>
mon but c'est de rendre ces elements accessibles a l'aide d'un js. Mais apparement il ne reconnait pas
document.form.element[i].disabled
c'est normal?