Foros del Web » Programando para Internet » Javascript »

Como recoger el valor de un input?

Estas en el tema de Como recoger el valor de un input? en el foro de Javascript en Foros del Web. Hola, tengo un problemilla que no se como recoger el valor de un input ya que esta dentro de un bucle php y en una ...
  #1 (permalink)  
Antiguo 16/05/2012, 10:45
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Información Como recoger el valor de un input?

Hola, tengo un problemilla que no se como recoger el valor de un input ya que esta dentro de un bucle php y en una plantilla que todo el contenido de la web queda recogido en la variable $txt, haber os voy indicando lo que tengo:

Código Javascript:
Ver original
  1. </script>
  2. <script type="text/javascript">
  3. function comprarproducto(id_empresa,preciostock,impuesto,totalconimpuesto,cantidadacomprar,producto,stockproducto)
  4. {
  5.     var params = "id_empresa="+id_empresa+"&preciostock="+preciostock+"&impuesto="+impuesto+"&totalconimpuesto="+totalconimpuesto+"&cantidadacomprar="+cantidadacomprar+"&producto="+producto+"&stockproducto="+stockproducto;
  6.     $.ajax({
  7.         type: "POST",
  8.         url: "prueba.php",
  9.         data: params,
  10.         success: function(respuesta) {
  11.             $("#resultado").html(respuesta);
  12.            
  13.         }
  14.     }
  15.     );
  16. }
  17.  
  18. </script>

y el codigo donde necesito que recoja el input es el siguiente:

Código PHP:
while($row5=mysql_fetch_array($result)){
$txt .='<td align="center">
<input id="cantidadacomprar" name="cantidadacomprar" type="text" size="2" maxlength="5" onkeypress="return IsNumber(event);" title="Indica la cantidad que quieres comprar" /></td>
    <td align="center">
    <input type="image" src="/imagenes/coins.png" title="Comprar" onclick="javascript:comprarproducto(\''
.$row5["id_empresa"].'\',\''.$row5["preciostock"].'\',\''.$cuota1.'\',\''.$totalimpuesto1.'\', \'AQUI DEBERIA DE IR EL VALOR DEL INPUT\',\''.$row5["producto"].'\',\''.$row5["stockproducto"].'\');" /></td>'

he probado a poner esto dentro de la funcion:
Código Javascript:
Ver original
  1. var  cantidadAComprar = document.getElementById('cantidadacomprar').value;
pero me recoge solo el valor del primer input, con lo que el valor debo de pasarselo junto a los demas, ¿Alguien sabria ayudarme?
  #2 (permalink)  
Antiguo 16/05/2012, 12:20
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Como recoger el valor de un input?

El valor de cantidadacomprar no lo podés extraer de la base de datos, ya que obviamente es un valor que ingresará el usuario y que aún no está definido.
así que a la función
function comprarproducto(id_empresa,preciostock,impuesto,to talconimpuesto,cantidadacomprar,producto,stockprod ucto), no tenés que pasarle ese parámetro

function comprarproducto(id_empresa,preciostock,impuesto,to talconimpuesto,producto,stockproducto)

Despues sí, ya dentro de la función haces
var cantidadAComprar = document.getElementById('cantidadacomprar').value;
ó
var cantidadAComprar = $('#cantidadacomprar').val();
si estás con jquery
finalmente con $ajax le pasas a prueba el valor


var params = "id_empresa="+id_empresa+"&preciostock="+preciosto ck+"&impuesto="+impuesto+"&totalconimpuesto="+tota lconimpuesto+"&cantidadacomprar ="+cantidadAComprar +"&producto="+producto+"&stockproducto="+stockprod ucto;


que para prueba.php será
$_POST['cantidadacomprar'];

Todo esto, si es que he entendido bien
Ah, cuando uses un evento de javascript, no es necesario que uses el pseudoprotocolo javascript:, con onclick="funcion();" es suficiente

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 16/05/2012, 16:23
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Como recoger el valor de un input?

El caso es que es un while de php, si lo hago como tu dices que ya lo probe asi ;) solo coge el valor del primer input, no de los demas, por eso decia que como se puede hacer para enviarle el valor que ha escrito en el input
  #4 (permalink)  
Antiguo 16/05/2012, 16:41
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Como recoger el valor de un input?

@rompeguesos

Creo que ya entiendo el problema, cuando se genera el html con el php, todos tus inputs pata cantidad a comprar generan un mismo id, y los id no pueden repetirse.
cambiá esto
<input id="cantidadacomprar"
x algo que represente un valor único(puede ser el id de la empresa, supongo que será único), por ejemplo
<input id="' .$row5["id_empresa"]. ' "

aqui un detalle, como los id en javascript no pueden ser un numero ni deben comenzar por uno, en el caso que en tu BD tus id de mpresa sean solo un numero, tendrías que poner algo como
<input id="a_' .$row5["id_empresa"]. ' "

luego en la función, como argumento ni siquiera los pasas, ya que en la script como te dije lo podés construir con (suponiendo que hiciste lo del agregado de la letra como te indiqué recien), con
var cantidadAComprar = document.getElementById('a_' + id_empresa).value;

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Última edición por emprear; 16/05/2012 a las 18:09
  #5 (permalink)  
Antiguo 16/05/2012, 16:50
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Como recoger el valor de un input?

emprear, funciona perfectamente, aunque hay un error de comillas en la variable la he solucionao ;), no recuerdo como se daba karma en el foro hacia ya tiempo que no entraba :P si me lo dices te pincho :D

Te estoy muy muy agradecido, de veras, me traia por la calle de la amargura :P

Saludos.
  #6 (permalink)  
Antiguo 16/05/2012, 17:01
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Como recoger el valor de un input?

Ok, que suerte que te funcionó...
Y que jamás te "amargue una script"...
Saludos

PD:
Ya vi lo de la comilla simple sobrante, lo edito por si alguien ve el código
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Última edición por emprear; 16/05/2012 a las 18:09

Etiquetas: ajax, funcion, html, input, php, recoger
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 22:56.