2010-01-06 5 views
2

J'essaie de placer une variable dans une chaîne dom. J'ai divers champs en tant que tels:Utilisation d'une variable dans une chaîne DOM

<input type="text" name="itemdesc1" /> 
<input type="text" name="itemdesc2" /> 

Je veux parcourir ces derniers pour voir s'ils sont remplis avant de soumettre. Le seul problème que j'ai est que je ne peux pas les exécuter à travers une boucle, parce que j'ai besoin de mettre une variable dans la chaîne DOM. La variable est "i".

if (document.insertinv.itemdesc(variable_here).value == ''){ 
    // Code 
} 

Existe-t-il une façon spécifique de procéder? De préférence sans ajouter d'identifiant aux champs.

Merci!

Répondre

3

Vous pouvez utiliser la notation de support, aussi je vous encourage à accéder à vos éléments de formulaire de la manière standard, l'accès au elements HTMLCollection (document.forms[x].elements[y]):

var element = document.forms[0].elements['itemdesc' + i]; 
     //or document.forms['formName']... 
if (element.value == ''){ 
    // Code 
} 
1

essayer

if (document.getElementsByName("itemdesc"+i).value == ''){ 
    //CODE 
} 
+0

'.' n'est pas l'opérateur de concaténation –

+0

Treby est probablement un programmeur PHP :) Je me retrouve à mélanger la syntaxe de temps en temps aussi :) – Sampson

+0

désolé l'homme .. a été emporté .. yah jonathan .. je suis un php Programmeur – Treby

2

Vous Il faudra concaténer la variable sur la chaîne dom:

var elems = document.getElementsByName('itemdesc'+i); 
Questions connexes