Foros del Web » Programando para Internet » Javascript »

envio de variables a vscript

Estas en el tema de envio de variables a vscript en el foro de Javascript en Foros del Web. HOLAS A TODOS¡¡¡¡¡ TENGO UNA CAJA DE TEXTO LLAMADA txtprecioArticulo[] .LO QUE QUIERO HACER ES QUE AL ALTERARA SU CONTENIDO CON LA FUNCION ONCHANGUE,CALCULAR UN ...
  #1 (permalink)  
Antiguo 17/04/2007, 16:06
 
Fecha de Ingreso: octubre-2006
Mensajes: 79
Antigüedad: 17 años, 6 meses
Puntos: 0
envio de variables a vscript

HOLAS A TODOS¡¡¡¡¡

TENGO UNA CAJA DE TEXTO LLAMADA txtprecioArticulo[] .LO QUE QUIERO HACER ES QUE AL ALTERARA SU CONTENIDO CON LA FUNCION ONCHANGUE,CALCULAR UN DETERMINADO IMPUESTO Y COLOCARLO EN LA CAJA DE TEXTO txtImpuesto[] ?
Pasando valores de cajas de texto si lo logro hacer,pero con arreglos de cajas de texto ,sintacticamente lo estoy haciendo mal.....
Una revisada de mi codigo,podrian darle:

<SCRIPT>
function calcularImpuesto(i)
{
var precioarticulo2,impuesto;

precioarticulo2=parseFloat(document.forms['formRegistroComprobante']['txtprecioArticulo[i]'].value);
//document.write(string(precioarticulo2));
alert("Valor de " + document.forms['formRegistroComprobante']['txtprecioArticulo[i]'].value);
impuesto=precioarticulo2/1.19;
document.forms['formRegistroComprobante']['txtimpuestoArticulo[i]'].value=impuesto;
}
</script>


<?PHP


for ($i=1;$i<=$txtNroProductos;$i++)
{?>
<tr>
<td height="22" width="20" bgcolor='#EEEEEE'><input type="text" size="10" name="txtidArticulo[]">
</td>
<td height="22" bgcolor='#EEEEEE'><input type="text" name="txtdescArticulo[]">
<?
echo "<a href=\"ayudaCP.php ?&numero=".$i."\" target='_blank'>Ayuda</a>"; ?>
</TD>

<td height="22" width="20" bgcolor='#EEEEEE'><input type="text" size="10" name="txtvccArticulo[]"></td>
<td height="22" width="20" bgcolor='#EEEEEE'><input type="text" size="10" name="txtcantArticulo[]"></td>
<td height="22" width="20" bgcolor='#EEEEEE'><input type="text" size="10" name="txtprecioArticulo[]" onChange="calcularImpuesto(<? echo $i;?>)"></td> <td height="22" width="20" bgcolor='#EEEEEE'><input type="text" size="10" name="txtimpuestoArticulo[]"></td>
<td height="22" width="20" bgcolor='#EEEEEE'><input type="text" size="10" name="txtimporteArticulo[]"></td>
<td height="22" width="20" bgcolor='#EEEEEE'><input type="text" size="10" name="txttotalArticulo[]"></td>
</tr>
<?
}
?>
  #2 (permalink)  
Antiguo 19/07/2007, 16:05
axz
 
Fecha de Ingreso: mayo-2005
Mensajes: 360
Antigüedad: 19 años
Puntos: 10
Re: envio de variables a vscript

Por lo que veo el parámetro que pasas a tu función solo lo usas para buscar el índice de los controles ... Ahora lo que te está ocurriendo es completamente lógico ... ya que a diferencia de lo que uno espera ... los controles HTML no se indexan de ésa manera de hecho lo que te está ocurriendo es que se está creando un array de controles text con el nombre txtimpuestoArticulo[], por lo tanto para acceder a cada elemento lo que tendrías que hacer es:

Y en tu script calcularImpuestos algo así:
Código:
function calcularImpuesto( i )
{
  var precioarticulo2,impuesto;

  precioarticulo2 = parseFloat( document.forms[ 'formRegistroComprobante' ][ 'txtprecioArticulo[]' ][ i ].value );

alert( "Valor de " + document.forms[ 'formRegistroComprobante' ][ 'txtprecioArticulo[]' ][ i ].value );
impuesto = precioarticulo2 / 1.19;
document.forms[ 'formRegistroComprobante' ][ 'txtimpuestoArticulo[]' ][ i ].value = impuesto;
}
Con eso debería de funcionar, sin embargo, te recomiendo que uses ID's en tus controles ... es más estándar y fácil el llamado ... chécate el método document.getElementById() .... hay toneladas de información en internet ...

Suerte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:33.