<form id="target">
....
</form>
145
Nas versões mais antigas você poderia usar attr
. A partir do jQuery 1.6, você deve usar prop
:
$("#target :input").prop("disabled", true);
Desabilitar todos os elementos do formulário dentro de 'target'. Veja :input
:
Corresponde a todos os elementos de entrada, área de texto, seleção e botão.
Se você deseja apenas os <input>
elementos:
$("#target input").prop("disabled", true);
$("#target :input").prop("disabled", true);
$(this).closest('form').find('input').prop('disabled', true);
. Não tenho certeza se você pode consolidar isso melhor, ainda sou bastante noobish no jQuery.O exemplo acima está tecnicamente incorreto. De acordo com o jQuery mais recente, use o
prop()
método deve ser usado para coisas como desativado. Veja a página da API deles.Para desativar todos os elementos do formulário dentro de 'target', use o seletor: input que corresponde a todos os elementos de entrada, área de texto, seleção e botão.
Se você deseja apenas os elementos, use isso.
fonte
Além disso, a maneira mais concisa é usar o mecanismo de seleção. Portanto, para desativar todos os elementos de formulário em um div ou formulário pai.
fonte
Você pode adicionar
e então você pode ligar
fonte
Para desabilitar todos os formulários, tão fácil quanto escrever:
jQuery 1.6+
jQuery 1.5 e abaixo
fonte
Com essa linha, você pode desativar qualquer campo de entrada em um formulário
fonte
A resposta definitiva (cobrindo alterações no jQuery api na versão 1.6) foi dada pelo Gnarf
fonte