Как при нажатии на кнопку сделать ее неактивной
Как при нажатии на кнопку Submit сделать ее неактивной и отправить форму FORM на сервер?
1 способ, после нажатия сабмит для отправки формы кнопка становится неактивной и ее больше несколько раз нажать не получится, т.е. на сервер неспокойный клиент отправит только один запрос:
<script type="text/javascript">
window.onload = init;
function init (){
var btn1 = document.getElementById('btn1');
btn1.onclick = buttonDisable;
}
function buttonDisable(){
var btn1 = document.getElementById('btn1');
btn1.disabled = true;
var form1 = document.getElementById('form1');
form1.submit();
return true;
}
</script>
<form method="post" action="http://www.ya.ru" id="form1">
<input type='text' name='inp1' id='inp1'>
<input type='submit' name='btn' value='submit' id='btn1'>
</form>
Внимание! Обработчик PHP получит пост данные БЕЗ $_POST['submit'], поэтому проверяйте по другим полям.
Или немного записанное иначе:
<script type="text/javascript">
function buttonDisable(){
var btn1 = document.getElementById('btn1');
btn1.disabled = true;
var form1 = document.getElementById('form1');
form1.submit();
return true;
}
</script>
<form method="post" action="http://www.ya.ru" id="form1">
<input type='text' name='inp1' id='inp1'>
<input type='submit' name='btn' value='submit' id='btn1' onclick="buttonDisable()">
</form>
2 вариант, после нажатия на кнопку она становится неактивной только на 5 секунд.
Для этого функцию buttonDisable замените на:
function buttonDisable(){
var btn1 = document.getElementById('btn1');
btn1.disabled = true;
setTimeout (reDisable, 5000, btn1);
var form1 = document.getElementById('form1');
form1.submit();
return true;
}
function reDisable (btn1){
btn1.disabled = false;
}
Оставить свой ответ: