Publicidad

Jquery activar desactivar boton submit de formulario

jquery_logo_color_onwhite

Pongamos que tenemos un formulario con n campos y su correspondiente botón submit para enviarlo. Para hacer el formulario mas usable e intuitivo siempre está bien desactivar el botón submit de enviar, siempre y cuando el formulario no este completado. Importante también mostrando mensajes de ayuda, o tooltips que es fundamental.

Vamos a poner que tenemos un formulario con una caja de texto y un botón submit. Lo que haremos será desactivar o deshabilitar el botón submit hasta que no haya algo escrito en la caja de texto.

<input type="text" name="textField" />
 <input type="submit" value="send" />

Para deshabilitar o desactivar el boton submit. Usaremos Jquery para llevar a cabo esta tarea y no usar Javascript a pelo.
Seleccionamos todos los inputs que sean del tipo submit y le agregamos el atributo disabled=”disabled”

$('input[type="submit"]').attr('disabled','disabled');

Para habilitar o activar el botón submit y poder enviar el formulario. Ejecutamos el siguiente código. Que lo que hace es eliminar el atributo disabled que hemos agregado anteriormente.

$('input[type="submit"]').removeAttr('disabled');

Ejemplo completo.
Cuando la caja de texto esta vacía el botón submit de desactiva. Cuando algo se escribe en la caja del formulario se muestra el boton submit activo. Si la caja de texto volviese a estar vacía se tendría que volver a desactivar el botón submit otra vez.

$(document).ready(function(){
     $('input[type="submit"]').attr('disabled','disabled');
     $('input[type="text"]').keypress(function(){
            if($(this).val() != ''){
               $('input[type="submit"]').removeAttr('disabled');
            }
     });
 });

Tags de búsquedas:

activar submit javascript,php validar un valor y bloquear un boton,ocultar boton submit jquery,jquery no funciona submit de boton,jquery deshabilitar boton,jquery activar enabled a caja,javascript para bloquear botones hasta q se envie el registro,deshabilitar un boton con jquery,deshabilitar boton jquery despues de click,activar y desactivar un submit

Publicidad

2 comentario/s

  1. Paul dice:

    si tengo varios campos tipo text, cómo hago para que sea obligatorio rellenarlos todos? Porque como esta hora el código, sólo si relleno el primero se habilita el botón enviar. Gracias.

  2. Mira mi buen, no se que ande haciendo mal tengo un pagina que es menu principal, dentro de ella mediante frames se cargan todas las demas paginas…
    el caso es que estoy intentando enviar datos a mi bd y no logor hacerlo con query[ajax], y php he llegado a pensar que quizas por tener dentro de un y un mis datos no lo hace, ya que en otra pagina donde no tengo eso si me hace la insercion de datos, pero tengo mis inputs libres… sin imagenes ni nada, me echas una mano…
    // esto es el codigo del formulario de llenado

    $(function(){
    // Para Agregar Libro
    $(‘#agregarLibro’).click(function(){
    $(‘#content’).slideUp(‘slow’,function(){
    $(this).load(‘AccionLibros.php?varL=1′,”,function(){
    $(this).slideDown(‘slow’);
    });
    });
    return false;
    });

    $(‘#cargar’).live(‘click’,function(){
    var datoL=’varL=2&Autor=’+$(‘#autor’).val()+
    ‘&Editorial=’+$(‘#editorial’).val()+
    ‘&Edicion=’+$(‘#edicion’).val()+
    ‘&Matricula=’+$(‘#matricula’).val()+
    ‘&Titulo=’+$(‘#titulo’).val()+
    ‘&Cantidad=’+$(‘#cantidad’).val();

    $.get(‘AccionLibros.php’,datoL,function(){
    alert(‘guardado’);
    });
    });
    });

    // este es el php donde se cargan el formulario en el div y la insercion de los datos

    Tipo:

    [Elija Materia]
    DICCIONARIOS Y ENCICLOPEDIAS
    FILOSOFIA
    RELIGION
    CIENCIAS SOCIALES
    CIENCIAS EXACTAS
    CIENCIAS APLICADAS
    HISTORIA

    Titulo:

    Editorial:

    Edicion:

    Cantidad:

    Autor:

    Matricula:

    Guardar
    AgregarLibro($_GET);
    break;
    default:
    break;
    }
    ?>

Deja tu comentario

Leer entrada anterior
PHP-5_4_0
PHP meter una sentencia if dentro de un echo

Digamos que quieres hacer algo así: Esto claro está va a fallar porque no se puede meter sentencias de control...

Cerrar