Estou usando um botão de envio gerado peloCakePHP FormHelper. Gostaria de desativá-lo usando jQuery depois que o botão for clicado. Tentei usar o atributo normal "disabled", mas não funcionou.
Como posso desativar o botão para evitar reenvios acidentais de formulários?
Respostas:
4 para resposta № 1Desativar o formulário pode ser uma solução melhor para evitar outros envios além de clicar no botão de envio, como digitar enter em uma entrada de texto. Você pode definir um data-disabled
no formulário após o primeiro envio e evita-o nos envios seguintes, se estiver definido.
$("form").on("submit", function(e) {
var $form = $(this);
if($form.attr("data-disabled") === true) {
e.preventDefault();
return false;
}
$form.attr("data-disabled", true);
});
0 para resposta № 2
você simplesmente adiciona o botão de envio ao seu formulário e desativa o botão de envio quando clicado
<?php
echo $this->Form->input("submitButton", array(
"id" => "submit",
"type" => "submit",
"label" => "",
"onclick" => "$(#"submit").disabled = true;"
));
?>