[JAVASCRIPT + DOM] attribut NAME d'un INPUT

attribut NAME d'un INPUT [JAVASCRIPT + DOM] - Programmation

Marsh Posté le 10-08-2001 à 23:45:34    

je modifie un formulaire a l'aide de DOM :
 
<form id="myForm" name="form1" onSubmit="editer()">
<table>
 
<tr>
 <td>Id: </td>
        <td><INPUT type="text" field="$id"></td>
</tr>
 
<tr>
 <td>Name: </td>
        <td><INPUT type="text" field="$name"></td>
</tr>
 
<tr>
 <td><INPUT type="submit" value="modifier"></td>
</tr>
 
</table>
</form>
 
si je veux modifier le champ d'un input, je fais :  
 
text.setAttribute("value", "ma_nouvelle_valeur" );
 
(ou text represente dans DOM la balise INPUT), et ca marche tres bien.
 
Si maintenant je veux creer un attribut NAME a cet INPUT (pour pouvoir recuperer la valeur du champ dans mon submit) je fais :
 
text.setAttribute("name", "mon_nom" );
 
(un text.getAttribute("name" ); me donne bien "mon_nom" )
 
Mais dans ma fonction JS appelle par le onSubmit, quand je fais un :
 
function editer()
{
       alert(document.form1.mon_nom.value);
}
 
il me dit qu'il connait pas le champ mon_nom  :??:   :sweat:  
 
Merci d'avance

Reply

Marsh Posté le 10-08-2001 à 23:45:34   

Reply

Marsh Posté le 11-08-2001 à 00:31:11    

essaye déjà document.myForm.mon_nom .
 
ton text.methode() est très louche : text est défini deux fois dans ton exemple, change t il les deux, ... ?
 
sinon y'a toujours moyen de récupérer tes éléments avec la ... liste des éléments de form :  
 
for (i=0; i<document.myForm.elements.length; i++)
{
  alert(document.myForm.elements[i].value;
}

Reply

Marsh Posté le 13-08-2001 à 17:26:51    

je vois pas pkoi mon text.methode() est louche : je le definis 1 seule fois comme ca :
 
myform=document.getElementById("myForm" );
mytablebody=myform.getElementsByTagName("tbody" ).i
tem(0);
 
line=mytablebody.getElementsByTagName("TR" ).item
(1);
cell=line.getElementsByTagName("TD" ).item(1);
text=cell.childNodes.item(0);
 
donc dans le cas ki m'interresse, text represente :  
 
<INPUT TYPE="text" FIELD="$id">
 
et je veux transformer ca en :
 
<INPUT TYPE="text" FIELD="$id" VALUE="id" NAME="i_id">
 
et ca marche pas  :sweat:

 

[edtdd]--Message édité par grahf--[/edtdd]

Reply

Marsh Posté le 13-08-2001 à 17:31:38    

je viens de trouver une solution :
 
au lieu de faire un  
text.setAttribute("name", "mon_nom" );
 
je fais un
text.setAttribute("id", "mon_nom" );
 
et je recupere les champs exactement de la meme facon

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed