Foros del Web » Programando para Internet » Javascript »

Activar boton...

Estas en el tema de Activar boton... en el foro de Javascript en Foros del Web. Necesito vuestra ayuda para terminar de perfilar un pequeño script que no me acaba de funcionar. En un formulario, traigo los valores numéricos en dos ...
  #1 (permalink)  
Antiguo 07/04/2010, 08:25
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Activar boton...

Necesito vuestra ayuda para terminar de perfilar un pequeño script que no me acaba de funcionar.

En un formulario, traigo los valores numéricos en dos campos escondidos. La idea, a través del JS es activar o desactivar el botón 'submit' si el valor1 es exactamente igual al valor2.

Tengo más o menos lo siguiente que aín no me funciona:

Código PHP:

<?php
$total_1 
1000;
$total_2 =  2000;
?>

<script language="javascript">
    function check() {
        var value1 = new value(document.getElementById('total_1').value);
        var value2 = new value(document.getElementById('total_2').value);
            if(total_1 == total_2)
            {
        document.form.submit.disabled = false;
    }
    }
</script>
<form name="form" method="post">
<input type="hidden" name="total_1" value="<?php echo $total_1?>">
<input type="hidden" name="total_2" value="<?php echo $total_2?>">
<input type="submit" name="submit" value="aceptar" disabled="disabled" />
</form>
Las variables total_1 y total_2 son un poco más complejas porque son la suma de varios campos, así, en el código de arriba he puesto un par de valores simples para testear el script si es necesario.

Agradezco vuestra ayuda!
__________________
Andrew :P
  #2 (permalink)  
Antiguo 07/04/2010, 08:36
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Activar boton...

Bueno conforme a tu ejemplo solo tienes que añadir window.onload para que se verifique una vez se haya cargado la página.
Código HTML:
Ver original
  1. <script language="javascript">
  2. function check(){
  3.     if(document.getElementById('total_1').value == document.getElementById('total_2').value){
  4.         document.form.submit.disabled = false;
  5.     }
  6. }
  7. window.onload = check;
  8. </script>
  9. <form name="form" method="post">
  10.   <input type="hidden" name="total_1" value="1000">
  11.   <input type="hidden" name="total_2" value="1000">
  12.   <input type="submit" name="submit" value="aceptar" disabled="disabled" />
  13. </form>
Si colocas la función directamente, tienes que hacerlo después del formulario, ya que si no el código no va a poder reconocer los valores ya que trata de ver si anteriormente hay algún campo mencionado con los nombres que indicaste. Acuérdate que los navegadores leen los código de arriba hacia abajo, por lo tanto la mejor forma, conforme a lo que tu indicas es usando el evento onload o indicar la función después del formulario deseado.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 07/04/2010, 09:01
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: Activar boton...

Gracias por tu respuesta Abimaelrc...

Lo que he hecho es lo siguiente:

Código PHP:
<form name="form" method="post"
  <
input type="hidden" name="total_1" value="1000"
  <
input type="hidden" name="total_2" value="1000"
<
script language="javascript"
function 
check(){
    if(
document.getElementById('total_1').value == document.getElementById('total_2').value){
        
document.form.submit.disabled false
    } 

window.onload check;
</script> 
  <input type="submit" name="submit" value="aceptar" disabled="disabled" /> 
</form> 
De tal manera que la lectura se haría inmediatamente después de cargar las variables en cada campo. Sin embargo, el botón está desactivado todo el tiempo. ... Alguna cosa puede estar fallando con el window.onload?
__________________
Andrew :P
  #4 (permalink)  
Antiguo 07/04/2010, 09:12
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Activar boton...

Copia y pega el ejemplo que te di y prueba. Con el evento de onload no es necesario colocarlo después del formulario.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 23/04/2010, 02:38
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: Activar boton...

Gracias por tu respuesta Abimael...

Qué pasa si son dos valores que se cargan en la página a través de PHP?... Porqué

Código PHP:
<input type="hidden" name="total_1" value="1000">
<
input type="hidden" name="total_2" value="1000"
no se lo mismo que:

Código PHP:
$value_1 = 1000;
$value_2 = 1000;
<input type="hidden" name="total_1" value="<?php echo $value_1?>">
<input type="hidden" name="total_2" value="<?php echo $value_2?>">
Lo que quiero decir es que en el primer caso funciona perfectamente, pero en el segundo, con variables en PHP no. ???
__________________
Andrew :P

Etiquetas: botones
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 03:50.