Скрыть (или отключить) кнопку отправки, когда пользователь нажимает на нее


Я работаю над разработкой приложения с использованием платформы CakePHP.

У всех нас есть клиенты, которые несколько раз нажимают на кнопку "Отправить".

Как я могу скрыть или (еще лучше) отключить кнопку отправки, когда пользователь нажимает на нее?

В Интернете я нашел несколько Javascripts, которые могут это сделать, но мне нужна помощь, чтобы интегрировать его в мой скрипт CakePHP.

Author: Marcel Korpel, 2010-09-26

4 answers

Поместите это на кнопку отправки:

onclick="this.disabled=true;return true;" 

Пример

    <input type=submit value='submit'
onClick='this.disabled=true;doSection(loading);return true;'> 

Использование jquery

 $("form").submit(function() {
            $(":submit", this).attr("disabled", "disabled");
          });
 7
Author: Pramendra Gupta, 2010-09-26 15:14:20

Чтобы продолжить то, что сказал JapanPro, если вы хотите разместить событие ONCLICK в поле отправки, вам нужно будет использовать функцию отправки помощника формы вместо функции end(). (CakePHP 1.2)

<?php echo $form->submit('Submit', array('onClick' => 'alert("Test");')); ?>

Это также означает, что вам нужно будет вручную закрыть форму.

</form>

Я рекомендую использовать jQuery для обработки этого

 2
Author: Gevie, 2010-10-19 08:12:20

Попробуйте:

<input data-disable-with="Saving..." name="commit" type="submit" value="Create new item">

Обратите внимание на

data-disable-with="Saving..."
 0
Author: David Mauricio, 2012-08-10 15:50:15

Я перепробовал все предложения в Интернете, включая приведенные выше, и это единственное, что, похоже, работает во всех браузерах. Я использую CakePHP 1.2.

echo $form->submit('Submit', array('onClick' => 'this.disabled=true;this.form.submit();return true;'));

Надеюсь, это поможет.

 0
Author: johnh, 2013-01-16 21:05:51