Cita:
Iniciado por BLAH !!
Tengo un PHP dinamico que me genera filas de acuerdo a un select que va del 1 al 20. Cada una de estas filas tienen distintos campos de texto, selects que deben tener un name predeterminado por el un numero que se fija de acuerdo a el nuemro de fila... vale decir .. si creo dos filas queda asi
Código HTML:
<table border="0" cellpadding="0" cellspacing="0" width="680">
<tr>
<td align=center width=80><input type=text name=cantidad[1] id="cantidad1" size=5></td>
<td align=center width=100>
<select type=text name=item[1] id=item1 onChange='cambio(this.value,1)'>
<option value='ITEM' selected>ITEM</option>
<option value='A-001'>A-001</option>
<option value='A-002'>A-002</option>
</select>
</td>
<td align=center width=220><textarea cols=22 rows=2 name=articulo[1] id="articulo1"></textarea></td>
<td align=center width=140>$ <input type=text name=valor[1] id="valor1" size=10 onKeyUp="javascript: document.getElementById('total1').value = document.getElementById('valor1').value * document.getElementById('cantidad1').value;" onMouseMove="javascript: document.getElementById('total1').value = document.getElementById('valor1').value * document.getElementById('cantidad1').value;"></td>
<td align=center width=140>$ <input type=text name=total[1] id="total1" size=10></td>
</tr>
<tr>
<td align=center width=80><input type=text name=cantidad[2] id="cantidad2" size=5></td>
<td align=center width=100>
<select type=text name=item[2] id=item2 onChange='cambio(this.value,2)'>
<option value='ITEM' selected>ITEM</option>
<option value='A-001'>A-001</option>
<option value='A-002'>A-002</option>
<option>-----</option>
</select></td>
<td align=center width=220><textarea cols=22 rows=2 name=articulo[2] id="articulo2"></textarea></td>
<td align=center width=140>$ <input type=text name=valor[2] id="valor2" size=10 onKeyUp="javascript: document.getElementById('total2').value = document.getElementById('valor2').value * document.getElementById('cantidad2').value;" onMouseMove="javascript: document.getElementById('total2').value = document.getElementById('valor2').value * document.getElementById('cantidad2').value;"></td>
<td align=center width=140>$ <input type=text name=total[2] id="total2" size=10></td>
</tr>
------------------------------------------------------------------------
Ahora al generar este codigo y seleccionar cualquiera de los (en este caso) dos ITEMS que me muestran se completan automaticamente el campo Articulo[$i] y valor[$i].
Para esto llamo a el archivo .JS (codigo en el primer post), el cual me entraga el texto con el cual se completan los campos de la fila.
Lo que yo quiero es que el usuario pueda cambiar el texto y valor de los ITEMS del archivo *.JS, por si en algun momento cambia su valor o descripcion.
No entendí bien que debes hacer .. pero creo que tu problema es principalmente de javascript
:
Según tu código javascript .. te referencias al "select" por un nombre tipo:
nombren°: getElementById('articulo'+n).
Pero en el HTML generas un nombre tipo "array" tipo:
name=articulo[n°]
(para que en PHP tengas un array asociado de facil acceso).
Por mi parte no controlo a ese nivel javascript . . pero deberías consultar en el foro de Javascript sobre como acceder a ese tipo de elementos bajo esa notación tipo "array" de esa forma ...
Un saludo,