Foros del Web » Programando para Internet » Javascript »

Boton que se repite, como deshabilitar?

Estas en el tema de Boton que se repite, como deshabilitar? en el foro de Javascript en Foros del Web. Hola a todos espero que esten muy bien... Mi inquietud es la siguiente: tengo una tabla en mi pagina.php que me dibuja una caja de ...
  #1 (permalink)  
Antiguo 26/02/2009, 15:18
 
Fecha de Ingreso: julio-2008
Ubicación: very high
Mensajes: 41
Antigüedad: 15 años, 9 meses
Puntos: 0
Boton que se repite, como deshabilitar?

Hola a todos espero que esten muy bien...

Mi inquietud es la siguiente: tengo una tabla en mi pagina.php que me dibuja una caja de texto , y hay un submit que se repite, al final de cada fila de esa tabla. aqui la parte del codigo.

Código PHP:
<?php do { ?>

 <form action="<?php echo $editFormAction?>" id="form3" name="form3" 
method="POST">

<td width="196" class="Estilo3">
 <textarea name="observa" cols="30" class="Estilo3" id="observa" > </textarea></td>
                                                  
                    <td width="53" class="Estilo3">
                
                                    
<input name="rastaman" type="submit"  value="Enviar" /> 

                   
                 
                 
 <strong><?php if (($cont >= $i)) { echo "Enviada!"?> 
<script> document.form3.rastaman.disabled = true; </script>

                 <?php ?> </strong></td>

                    <input type="hidden" name="MM_insert" value="form3">
    
                    </form>

<?php } while ($row_Recordset2 mysql_fetch_assoc($Recordset2)); ?>

Bueno el if ($cont >= $i) es un control de si el boton fue oprimido o no, imprime en pantalla en la misma casilla de la tabla debajo del boton la palabra "Enviada!" y lo que pretendo con el <script> es deshabilitar el boton despues de ser oprimido, pero el problema:

es que solo me deshabilita el primer boton de la tabla si el boton se repite 5 veces la palabra Enviada si es impresa correctamente debajo de cada boton al ser este oprimido, pero solo permanece deshabilitado el primer boton, y la idea es deshabilitar cada boton a medida q se oprima y envia el form.

Espero que me puedan ayudar con este lio... Muchas gracias !

PD:No se si es con ayuda de php, lo intente con un array en el nombre del submit y cambiando el script pero no funciona, no se sea cosa de javascript, me seria muy valiosa su ayuda, de cualquier forma posible. Saludos!
  #2 (permalink)  
Antiguo 26/02/2009, 20:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Boton que se repite, como deshabilitar?

Hola fenixdemetal,

Recuerda que todos los eventos que se generan en el cliente es lenguaje javascript, no de PHP.

Saludos
  #3 (permalink)  
Antiguo 27/02/2009, 13:17
 
Fecha de Ingreso: julio-2008
Ubicación: very high
Mensajes: 41
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Boton que se repite, como deshabilitar?

Gracias por la aclaracion...
alguien tiene alguna idea de resolverlo ???
  #4 (permalink)  
Antiguo 27/02/2009, 13:56
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 1 mes
Puntos: 15
Respuesta: Boton que se repite, como deshabilitar?

Prueba con esto en cada Botón:

<input type="submit" value="aceptar" onclick="this.setAttribute('disabled','disabled')"/>

creo que es la forma mas corta...y debería funcionar.
  #5 (permalink)  
Antiguo 27/02/2009, 13:59
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 1 mes
Puntos: 15
Respuesta: Boton que se repite, como deshabilitar?

Mejor dicho así:

<html>
<head></head>
<body>
<input type="submit" value="aceptar" onclick="this.setAttribute('disabled','disabled')"/>
<input type="submit" value="aceptar" onclick="this.setAttribute('disabled','disabled')"/>
<input type="submit" value="aceptar" onclick="this.setAttribute('disabled','disabled')"/>
<input type="submit" value="aceptar" onclick="this.setAttribute('disabled','disabled')"/>
<input type="submit" value="aceptar" onclick="this.setAttribute('disabled','disabled')"/>
</body>
</html>
  #6 (permalink)  
Antiguo 03/03/2009, 13:26
 
Fecha de Ingreso: julio-2008
Ubicación: very high
Mensajes: 41
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Boton que se repite, como deshabilitar?

SPAWN3000 Muchas gracias por tu respuesta, pero no me dio el resultado esperado, alguna otra idea ??? recuerda que el boton se repite por q esta dentro de un ciclo do while, es decir q el codigo del boton se escribe solo una vez....

Exitos!
  #7 (permalink)  
Antiguo 03/03/2009, 13:53
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 1 mes
Puntos: 15
Respuesta: Boton que se repite, como deshabilitar?

Mira, no se si estoy mal...pero retomo lo que dijo GatorV. Javascript del lado del cliente y PHP en el servidor.

No puedes hacer click y esperar deshabilitar el botón desde php, esto lo haces desde el propio javascript... ahora, si deseas es retomar las peticiones y validaciones desde php como esta(echo "Enviada!") debes usar AJAX. es casi la única manera de hacer la operación dinámica...

Por que solo funciona para el primer botón:

<input name="rastaman" type="submit" value="Enviar" />

rastaman es el nombre que le has asignado al primero y es la única opción que tiene disponible en este script...
<script> document.form3.rastaman.disabled = true; </script>
Así que solo toma el primero y no mas...

Si ha esta línea:
<input name="rastaman" type="submit" value="Enviar" />
le agregas
onclick="this.setAttribute('disabled','disabled')"
como resultado:
<input name="rastaman" type="submit" value="Enviar" onclick="this.setAttribute('disabled','disabled')"/>
No funciona?

Pero insisto que deberías documentarte un poco mas, esta no es una buena practica...Y no te preocupes si no te funciona, el foro esta para preguntar, si algo no te funciona o no lo entiendes...solo expone tu problema.

Un saludo.
  #8 (permalink)  
Antiguo 04/03/2009, 09:07
 
Fecha de Ingreso: julio-2008
Ubicación: very high
Mensajes: 41
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Boton que se repite, como deshabilitar?

No SPAWN3000 no funciona de la forma que propones, de verdad que e intentado de todo con esto y nada que lo logro hacer funcionar... y pues me he documentado, pero no se otra forma de lograr que el boton se repita ya uqe el numero de veces que este debe repetirse es variable.... por lo tanto no podria hacerlo de una manera estatica. Igual si se te ocurre alguna otra cosa u otra forma de hacerlo en la que se pueda controlar el comportamiento de cada boton, te lo agradeceria mucho...

Exitos!
  #9 (permalink)  
Antiguo 04/03/2009, 17:32
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 1 mes
Puntos: 15
Respuesta: Boton que se repite, como deshabilitar?

Si no hay mas remedio, probare tu código en un rato que me den un respiro en la oficina y de seguro te lo soluciono. un saludo....

PTA: Me podrias dar un plazo hasta el fin de semana(Calendario Colombia?)
  #10 (permalink)  
Antiguo 05/03/2009, 16:16
 
Fecha de Ingreso: julio-2008
Ubicación: very high
Mensajes: 41
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Boton que se repite, como deshabilitar?

No hay problema SPAWN3000 sere paciente, porque esto ya le he quemado bastante tiempo por el momento estoy haciendo otras cosas, pero nuevamente te agradeceria mucho si logras solucionarlo. Muchas gracias.
  #11 (permalink)  
Antiguo 05/03/2009, 16:53
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Boton que se repite, como deshabilitar?

Hola:

Me parece que deberías programar mejor el bucle, porque parece que repites id's y eso no se debe hacer...

Si los botones tienen el mismo nombre, pues solo debes recorrer ese array, pero por el código, parece que se trata de distintos formularios, así que la cosa se complica... deberías poner el código que llega al navegador (ver código fuente), porque dependerá de como se referencian esos botones con javascript para encontrar la solución...

SPAWN3000: ¡hola!, para atributos normales, no es necesario usar setAttribute, ya que se referencian sin problema con laa sintaxis del punto... para atributos "inventados", sí que vale...

Un ejemplo para varios botones con el mismo nombre y del mismo form...

for (i = 0, f =document.forms.el_form, total = f.el_control.length; i < total; i ++) f.el_control[i].disabled = true;

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 08:30.