Resumo de IA
Gostaria de controlar campos somente de leitura no WPForms usando JavaScript?
O WPForms fornece um conjunto de métodos JavaScript que permitem bloquear, desbloquear e alternar campos de formulário diretamente no frontend. Estas funções são úteis se desejar adicionar lógica personalizada, como desativar campos após o envio ou tornar certos campos somente de leitura com base nas ações do utilizador.
Adicionar o Seu JavaScript Personalizado
Para usar estes métodos, terá de adicionar um trecho de JavaScript personalizado ao seu site. Se não tiver a certeza de como adicionar código personalizado, consulte o nosso guia sobre adicionar JavaScript personalizado para WPForms.
Certifique-se de que o seu código é executado após o carregamento do WPForms, envolvendo-o dentro do evento wpformsReady.
Métodos Disponíveis
Os seguintes métodos estão disponíveis dentro do objeto wpforms.field.
wpforms.field.lock( formId, fieldId )
Bloqueia um campo específico para que os utilizadores o possam ver, mas não editar.
jQuery(document).on('wpformsReady', function() {
wpforms.field.lock(123, 5);
});
wpforms.field.unlock( formId, fieldId )
Remove o estado somente de leitura de um campo específico.
jQuery(document).on('wpformsReady', function() {
wpforms.field.unlock(123, 5);
});
wpforms.field.toggle( formId, fieldId, state )
Alterna o estado somente de leitura de um campo.
- true — bloquear o campo
- false — desbloquear o campo
- ‘auto’ (padrão) — alternar automaticamente dependendo do estado atual
// With explicit state
wpforms.field.toggle(123, 5, true);
// With default behavior ('auto')
wpforms.field.toggle(123, 5);
wpforms.field.isLocked( formId, fieldId )
Verifica se um campo está atualmente bloqueado. Retorna um booleano.
jQuery(document).on('wpformsReady', function() {
if ( wpforms.field.isLocked(123, 5) ) {
console.log('Field is locked');
}
});
wpforms.field.lockAll( formId )
Bloqueia todos os campos num formulário.
jQuery(document).on('wpformsReady', function() {
wpforms.field.lockAll(123);
});
wpforms.field.unlockAll( formId )
Desbloqueia todos os campos num formulário.
jQuery(document).on('wpformsReady', function() {
wpforms.field.unlockAll(123);
});
wpforms.field.readOnlyClass
Retorna o nome da classe CSS aplicado quando um campo é somente de leitura.
console.log( wpforms.field.readOnlyClass );
// 'wpforms-field-readonly'
Notas
- Substitua
123pelo ID do seu formulário e5pelo ID do campo que deseja direcionar. - Use sempre o evento
wpformsReadypara garantir que os métodos estão disponíveis. - Estes métodos funcionam apenas no frontend — não afetam o construtor de formulários nem as entradas guardadas.