Foros del Web » Programando para Internet » Javascript »

contar clicks

Estas en el tema de contar clicks en el foro de Javascript en Foros del Web. Hola a todos los foreros Necesito contar las veces que es pulsado un boton en un formulario y mostrarlo en un campo de texto, hasta ...
  #1 (permalink)  
Antiguo 16/08/2010, 12:54
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 14 años, 4 meses
Puntos: 7
contar clicks

Hola a todos los foreros

Necesito contar las veces que es pulsado un boton en un formulario y mostrarlo en un campo de texto, hasta el momento tengo lo siguiente

Código HTML:
function suma_completa_uno(){
	a= 0;
	document.ordenes.completa_uno.onclick = a++;
	document.ordenes.cantidad_completa_uno.value = a++;
}
pero con este codigo al presionarlo la primera vez cambia de cero a 1 en el value del campo de texto pero no suma los demás clicks que le aga

y mi formulario es este:
Código PHP:
<form name="ordenes" method="post">
<tr>
<?php
$query 
"SELECT guisos .  * , menus.id_guiso1, menus.dia
FROM menus
INNER JOIN guisos
WHERE menus.id_guiso1 = guisos.id_guiso
AND menus.dia = '$hoy' "
;
$result mysql_query($query,$conn);
$fila mysql_fetch_array($result);
?>
<td><input type="button" name="completa_uno" value="<?php echo $fila['desc_guiso']; ?>" onclick="suma_completa_uno()"/></td>
<td><input type="text" name="cantidad_completa_uno" value=0 readonly="readonly" /></td>
<td><input type="submit" name="borra_completa_uno" id="borrar_completa_uno" value="Borrar" /></td>
gracias de antemano
  #2 (permalink)  
Antiguo 16/08/2010, 13:20
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: contar clicks

Hola

La variable a ha de ser global

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 16/08/2010, 13:24
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: contar clicks

primero le asignas la función suma_completa_uno() al evento onclick del input name="completa_uno", luego en la misma función estableces a=0; y pretendes reasignarle al evento onclick del mismo input un a++ (que no es una función) ¿te parece lógico?

además tienes un input name="cantidad_completa_uno" que supongo que debe de ser acumulador que necesitas, ¿entonces por qué no lo usas directamente?

otro punto que creo suponer es que vas a generar varias filas, por lo que necesitas un contador en php para que javascript las diferencie ¿no es así:?
<td><input name="cantidad_completa_1" />...</td>
<td><input name="cantidad_completa_2" />...</td>
<td><input name="cantidad_completa_3" />...</td>

entonces el php seria así:
Código PHP:
<?php
$result 
mysql_query($query,$conn);
$cont=0;
while(
$fila mysql_fetch_array($result)){
$cont++;
?>
<td><input type="button" name="completa_<?php echo $cont?>" value="<?php echo $fila['desc_guiso']; ?>" onclick="suma_completa(<?php echo $cont?>)"/></td>
<td><input type="text" name="cantidad_completa_<?php echo $cont?>" value=0 readonly="readonly" /></td>
<td><input type="submit" name="borra_completa_<?php echo $cont?>" id="borrar_completa_uno" value="Borrar" /></td>
<?php
}
?>
y la parte del javascript quedaría completamente funcional así:

Código Javascript:
Ver original
  1. function suma_completa(i_cont){
  2.     //forma correcta de obtener los inputs:
  3.     var contador = document.forms['ordenes'].elements['cantidad_completa_'+i_cont];
  4.     contador.value = parseInt(contador.value)+1;
  5. }
  #4 (permalink)  
Antiguo 16/08/2010, 14:04
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 14 años, 4 meses
Puntos: 7
Respuesta: contar clicks

gracias por sus respuestas

pero no no voy a generar varias filas solo necesito saber la cantidad de clicks que se hacen en el botón.

y me podrías explicar un poco mejor tu respuesta porque no la entendi del todo
  #5 (permalink)  
Antiguo 16/08/2010, 14:20
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: contar clicks

Cita:
Iniciado por zapt142 Ver Mensaje
y me podrías explicar un poco mejor tu respuesta porque no la entendi del todo
La respuesta de ¿qui´´en?
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #6 (permalink)  
Antiguo 16/08/2010, 14:26
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 14 años, 4 meses
Puntos: 7
Respuesta: contar clicks

Pues de los dos si se pudiera no esta de más...

pero concentrandome en la tuya Adler tendria que poner la a global no?

seria asi:

Código HTML:
var a = 0;
function suma_completa_uno(){
	document.ordenes.completa_uno.onclick = a++;
	document.ordenes.cantidad_completa_uno.value = a++;
}
pues me sigue asiendo lo mismo solo la primera vez que hago click cambia el value.
  #7 (permalink)  
Antiguo 16/08/2010, 14:48
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: contar clicks

Hola

El problema lo tienes en esta linea
Cita:
document.ordenes.completa_uno.onclick = a++;
Est´´as tratando a la variable a como una función ya que le est´´as asignando al elemento un evento. Cambia el nombre del campo por cualquier otro que no sea el de un evento. Mira que hay nombres sobre los que escoger

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #8 (permalink)  
Antiguo 16/08/2010, 15:56
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 14 años, 4 meses
Puntos: 7
Respuesta: contar clicks

Ya funciona gracias por la explicación.
además de investigar por mi parte..
bueno pos aqui les dejo el codigo por si alguien algún día
necesita algo similar

Código HTML:
var a = 0;
function suma_completa_uno(){
	document.ordenes.cantidad_completa_uno.value = a++;
}

Etiquetas: clicks, contar
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 02:39.