Если вы инициируете отправку формы, если вы не используете AJAX, страница просто перезагрузится, что сделает спор по методу enable()
, если вы не используете его для повторного включения кнопки в случае сбоя или при успешном возврате данныхчерез AJAX.
Мне кажется, что вы пытаетесь получить данные через запрос к серверу, не перезагружая страницу, а затем снова включите кнопку отправки после того, как данные будут возвращены.В этом случае вам нужно использовать AJAX.
HTML
<form action="/" method="post" id="form">
<button class=btnGenerate type="submit" id="submit" name="submit" >GENERATE</button>
</form>
JS
<script>
document.getElementById('submit').addEventListener('click', function(event){
event.preventDefault(); // prevents browser from submitting form
var form = document.getElementById('form');
var submit = document.getElementById('submit');
// using JQuery ajax
$.ajax(form.action, {
data: form.serialize(),
beforeSend: function() { // runs before ajax call made
// disable submit button
submit.disabled = true;
},
success: function(response) {
console.log(response);
// deal your return data here
},
error: function(error) {
console.log(error);
// deal with error
},
complete: function() { // runs when ajax call fully complete
// renable submit button
submit.disabled = false;
}
});
});
</script>