Todas las Noticias en Películas, Avances de Películas y Reseñas.

Botón deshabilitar en jQuery [With examples]

Para deshabilitar un botón con jQuery, debe establecer la propiedad deshabilitada en el botón usando el método prop. Por ejemplo $(‘.my-button’).prop(‘disabled’, true).

Aquí está el proceso paso a paso:

  • Seleccione el botón que desea deshabilitar.
  • Utilice el método prop de jQuery.
  • Establezca la propiedad deshabilitada en verdadero

Tabla de contenido:

Deshabilitar botón al hacer clic

Entonces, digamos que tenemos un botón y queremos desactivar el botón al hacer clic en otro botón:

<button id="my-button">Save</button>
<button id="disable-button">Disable button</button>

Este es el código jQuery que necesitaremos:

var disableButton = (e) => {
$('#my-button').prop('disabled', true);
};

$(document).on('click', '#disable-button', disableButton);

ver la pluma
en
CódigoPen.

Deshabilitar el botón de enviar cuando el área de texto está vacía

Este es un escenario muy común que podemos encontrar en multitud de aplicaciones web o sitios web. En aquellos casos en los que no tenga sentido presentar un formulario con un área de texto vacíaes una buena práctica deshabilitar el botón de envío cuando su área de texto no tiene contenido.

Todo lo que tenemos que hacer es:

  • Adjunte el evento keyup a nuestro elemento textarea
  • Recuperar el valor del área de texto
  • Eliminar espacios en blanco finales blancos
  • Deshabilite el botón Enviar cuando el valor esté vacío.

Digamos que tenemos el siguiente código HTML con nuestra área de texto y nuestro botón:

<div>
<textarea id="my-textarea" rows="5" cols="30"></textarea>
</div>

<button id="my-button" disabled>Save</button>

Este sería nuestro código jQuery:

var checkTextarea = (e) => {
const content = $("#my-textarea").val().trim();
$('#my-button').prop('disabled', content === '');
};

$(document).on('keyup', '#my-textarea', checkTextarea);

ver la pluma
en
CódigoPen.

¿Recuerdas que el segundo parámetro del método prop también nos permite usar una función en lugar de un booleano?

Recomendado:  Cómo utilizar widgets de escritorio en macOS 14 Sonoma

Podemos probarlo en este mismo ejemplo reemplazando nuestro código anterior con el siguiente, donde solo devolvemos un valor booleano en la función que pasamos como parámetro.


var checkTextarea = (e) => {
$('#my-button').prop('disabled', (e) => {
return $("#my-textarea").val().trim() === '';
});
};

Deshabilitar el botón Enviar cuando la entrada está vacía

La misma técnica exacta que usamos para el área de texto. se puede aplicar para cualquier otra entrada.

Actualicé el atributo id y el nombre de la función, pero el resto sigue igual:

ver la pluma
en
CódigoPen.

Botón deshabilitar al cargar la página

La forma más fácil de mostrar un botón como deshabilitado en la carga de la página es asignándole directamente el atributo deshabilitado en el código HTML:


<button id="my-button">Save</button>


<button id="my-button" disabled>Save</button>

Sin embargo, si por alguna razón necesita hacer esto dinámicamente y no tiene forma de modificar el código HTML, aún puede hacerlo usando jQuery.

Es tan simple como deshabilitarlo en el documento listo:

$(document).ready(function () {
$('#my-button').prop('disabled', true);
});

Botón de activación con jQuery

Como probablemente haya adivinado, habilitar un botón es tan simple como deshabilitarlo. De hecho, usaremos exactamente el mismo método prop. La única diferencia es que ahora estableceremos el valor de deshabilitado en falso en lugar de verdadero.


$('#my-button').prop('disabled', true);


$('#my-button').prop('disabled', false);

Aquí hay un ejemplo:

ver la pluma
en
CódigoPen.

Comprobando si el botón está deshabilitado o habilitado con jQuery

Para comprobar el estado de un botón todo lo que tenemos que hacer es obtener el valor de la propiedad deshabilitada.

El método prop no solo nos proporciona una forma de establecer las propiedades, sino que también nos permite verificar su estado. Es tan simple como omitir el segundo parámetro:


const isDisabled = $('#my-button').prop('disabled');

if( isDisabled ){
console.log("Is disabled!");
}
else{
console.log("Is enabled");
}

ver la pluma
en
CódigoPen.

Recomendado:  Cómo desactivar el historial de ubicaciones en iPhone

Deshabilitar botón con JavaScript

Si jQuery no es lo tuyo, puedes deshabilitar un botón con JavaScript estándar (es decir, solo con JavaScript).

Para deshabilitar un botón con JavaScript, debe establecer la propiedad deshabilitada en verdadero estableciendo directamente el valor en la propiedad deshabilitada en el elemento DOM. Por ejemplo: document.querySelector(‘#my-button’).disabled = true.

Entonces, aquí está la equivalencia:


$('#my-button').prop('disabled', true);


document.querySelector('#my-button').disabled = true


const state = $('#my-button').prop('disabled');


const state = document.querySelector('#my-button').disabled;

Luego, también deberá cambiar los detectores de eventos respectivos si usa alguno.

He aquí un ejemplo de cómo desactivar el botón después de hacer clic usando JavaScript:

ver la pluma
en
CódigoPen.

Referencias

Artículos relacionados