Скрыть (или отключить) кнопку отправки, когда пользователь нажимает на нее - PullRequest
2 голосов
/ 26 сентября 2010

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

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

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

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

Ответы [ 4 ]

7 голосов
/ 26 сентября 2010

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

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");
          });
2 голосов
/ 19 октября 2010

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

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

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

</form>

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

0 голосов
/ 17 января 2013

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

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

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

0 голосов
/ 10 августа 2012

Попробуйте:

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

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

data-disable-with="Saving..."
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...