Как при нажатии на кнопку сделать ее неактивной

Как при нажатии на кнопку 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;
        }
 

 



Оставить свой ответ:

Имя:*
E-Mail:
Вопрос:
Skolko buдет пять пдюс сeмь?
Ответ:*
QQpedia21.ru - cамые интересные вопросы