Foros del Web » Programando para Internet » Javascript »

valor de caja de texto

Estas en el tema de valor de caja de texto en el foro de Javascript en Foros del Web. Hola tengo problemas para obtener el valor de 2 cajas de texto diferentes con js. Siempre me muestra el valor de la primera y no ...
  #1 (permalink)  
Antiguo 10/08/2010, 11:51
 
Fecha de Ingreso: julio-2010
Mensajes: 33
Antigüedad: 13 años, 9 meses
Puntos: 0
valor de caja de texto

Hola tengo problemas para obtener el valor de 2 cajas de texto diferentes con js. Siempre me muestra el valor de la primera y no el de las de abajo.
Les copio el codigo para ayudar un poco mas, muchas gracias y saludos

echo '<td>'; echo '<div id = '.$codigo.$lote.' style="display:none;">';
if ($llevaFacturaAux== "S"){//(2)
//INGRESAMOS LA CANTIDAD DESEADA, NO PUEDE SUPERAR EL STOCK ACTUAL
echo " Cantidad: ";
echo '<label><input name="my-item-qty" id="idc.$codigo.$lote" value="" size="3" onChange="comparar(this)"; /></label>';
//EN ESTE LABEL MOSTRAMOS EL TEXT PARA INGRESAR EL PRECIO DEL PRODUCTO Y CONTROLAMOS QUE NO SEA MENOR QUE CERO
echo " Precio: ";
echo '<label><input type="text" name="my-item-price" id ="idp.$codigo.$lote" value="" size="3" onChange="valorMayorQueCero(this)"; /></label>';
//ALTA
echo ' '.'<a onclick="altaCarrito(\''.$reporte.'\', \''.$codigo.'\', \''.$lote.'\', \''.$codigo.$lote.'\', \''.$codigo.$lote.'\' )"> <img src = "./img/add.png"> </a>'; }else{//SI NO LLEVA FACTURA
echo " Cantidad: ";
echo '<label><input type="text" name="my-item-qty" id="id-my-item-qty" value="" size="3" onChange="comparar(this)"; /></label>';
//ALTA
echo ' '.'<a onclick="altaCarrito(\''.$reporte.'\', \''.$codigo.'\', \''.$lote.'\')"> <img src = "./img/add.png"> </a>';
}
echo '</div>'; echo '</td>';

adjunto el js

function altaCarrito(nroReporte, codigo, lote){
divContenido = document.getElementById('contenido');
prm1 = codigo;
prm2 = lote;
prm3 = "IS";
prm4 = document.getElementById("idc.$codigo.$lote").value ; //cantidad
prm5 = document.getElementById("idp.$codigo.$lote").value ; //precio

ajax=objetoAjax();
ajax.open("GET", './Rep_'+nroReporte+'.php?prm1='+prm1+'&prm2='+prm2+' &prm3='+prm3+'&prm4='+prm4+'&prm5='+prm5);

divContenido.innerHTML= '<center><br><br><br><img src="./img/loading.gif"></center>';
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//mostrar resultados en esta capa
divContenido.innerHTML = ajax.responseText
}
}
ajax.send(null)
}

Una lastima que no pueda adjuntar la imagen que ayudaria bastante.

Saludos y gracias

Última edición por decano1891; 10/08/2010 a las 12:09
  #2 (permalink)  
Antiguo 10/08/2010, 13:05
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: valor de caja de texto

Tienes algunos problemas tanto con PHP, como con HTML y Javascript:

Código PHP:
Ver original
  1. <?php
  2. // Esto esta mal:
  3. echo '<div id = '.$codigo.$lote.' style="display:none;">';
  4.  
  5. // Usando un poco mejor las comillas seria:
  6. echo "<div id=\"$codigo$lote\" style=\"display:none;\">";
  7.  
  8. // Esto tambien esta mal:
  9. echo " Precio: ";
  10. echo '<label><input type="text" name="my-item-price" id ="idp.$codigo.$lote" value="" size="3" onChange="valorMayorQueCero(this)"; /></label>';
  11.  
  12. // Mas o menos deberia ser:
  13. $precioid = "idp$codigo$value"; // Vas a necesitar este varias veces
  14. echo "<label for=\"$precioid\">Precio:</label>"; // Las etiquetas son asignadas a cada campo
  15. echo "<input type=\"text\" name=\"my-item-price\" id =\"$precioid\" value=\"\" size=\"3\" onchange=\"valorMayorQueCero(this);\" />";
  16.  
  17. // Mucho mejor si lo haces asi:
  18. $precioid = "idp$codigo$value";
  19. ?>
  20. <label for="<?php echo $precioid; ?>">Precio:</label>
  21. <input type="text" name="my-item-price" id="<?php echo $precioid; ?>" value="" size="3" onchange="valorMayorQueCero(this);" />

Despues en tu js esta mal usar $ en las variables, porque ya las estas recibiendo como parametro de la funcion:
Código Javascript:
Ver original
  1. // Esto esta mal:
  2. prm4 = document.getElementById("idc.$codigo.$lote").value ; //cantidad
  3. prm5 = document.getElementById("idp.$codigo.$lote").value ; //precio
  4.  
  5. // Debiendo ser:
  6. prm4 = document.getElementById("idc"  + codigo + lote).value; //cantidad
  7. prm5 = document.getElementById("idp"  + codigo + lote).value; //precio

Por otra parte, el input my-item-qty tiene una id id-my-item-qty, nada que ver con codigo y lote.

Vas a mostrar solamente un producto por pagina? si es asi, te estas complicando la vida, solo crea campos ocultos (hidden) para almacenar codigo y lote, con su respectiva id, quedando los campos asi:

* nombre/ID - tipo
- codigo: oculto
- lote: oculto
- precio: texto
- cantidad: texto

Si vas a mostrar mas de un producto por pagina, entonces el problema sera que estas repitiendo el atributo name para precio y cantidad, tal vez te cause algunos problemas.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 10/08/2010, 13:36
 
Fecha de Ingreso: julio-2010
Mensajes: 33
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: valor de caja de texto

Hola te agradezco la respuesta pero sigo teniendo el mismo problema, toma el valor de precio y cantidad de las dos primeras cajas, pero no de las que le siguen abajo.
Saludos
  #4 (permalink)  
Antiguo 10/08/2010, 14:56
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: valor de caja de texto

Entonces revisa la parte del onclick, que realmente estes enviando el valor de $codigo y $lote, solo tienes que ver el codigo fuente generado en el navegador y tendras una pista para seguir.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: caja
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 15:03.