Comunidad de diseño web y desarrollo en internet online

como habilitar o deshabilitar botones

Citar            
MensajeEscrito el 25 Jun 2015 03:17 pm
Buenos dias comunidad, cuando cargo la pagina tengo dos botones deshabilitados, y un imput y un boton(controlar) para validar un dato, cuando el boton Controlar se presiona utilizo sbmit para controlar lo que se ingresa.
Esto utiliza dos funciones php para comprobar... y si devuelve un x valor vuelvo a habilitar los botones.

Este es el codigo de mi boton:
<button type="submit"name="comprueba_estado" value="comprueba estado" style="cursor: default; height: 30px;width:150px;text-align: center" onclick="">Comprobar Periodo</button>

De esta forma valido y llamo a mi funcion js:

<?
if ($_POST['comprueba_estado']) {

$periodo = $_POST['periodo'];
$respcomp = comprobarPeriodo($periodo);
if ($respcomp != null) {
//el priodo existe
echo '<script type="text/javascript"> habilitarBotones()</script>';

}
}?>

Y este es mi funcion js:

function habilitarBotones(){
<>
alert('Hola Mundo!');
$('#b1').attr("disabled", false);
$('#b2').attr("disabled", false);
}
</>
b1 y b2 son el ID de los botones a habilitar.
Se que ingresa a la funcion por que salta el alert, no se que mas hacer. saludos

Por sandovalgus

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Jun 2015 05:26 pm
Es evidente que no funciona porque cuando haces submit de un formulario, se está cargado otra página y por lo tanto estás perdiendo el DOM donde están los botones que supuestamente hay que habilitar.

Tienes dos soluciones posibles, o escribes la función comprobarPeriodo() en javaScript en la misma página que el formulario y usas el evento onBlur en el input para disparar el código que valida esa entrada, o bién, usas Ajax para llamar a la función PHP.

No sé cuál método es mejor para tu caso porque necesitaría todo el código relevante para determinarlo.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.