Скрыть (или отключить) кнопку отправки, когда пользователь нажимает на нее
Я работаю над разработкой приложения с использованием платформы CakePHP.
У всех нас есть клиенты, которые несколько раз нажимают на кнопку "Отправить".
Как я могу скрыть или (еще лучше) отключить кнопку отправки, когда пользователь нажимает на нее?
В Интернете я нашел несколько Javascripts, которые могут это сделать, но мне нужна помощь, чтобы интегрировать его в мой скрипт CakePHP.
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");
});
Чтобы продолжить то, что сказал JapanPro, если вы хотите разместить событие ONCLICK в поле отправки, вам нужно будет использовать функцию отправки помощника формы вместо функции end(). (CakePHP 1.2)
<?php echo $form->submit('Submit', array('onClick' => 'alert("Test");')); ?>
Это также означает, что вам нужно будет вручную закрыть форму.
</form>
Я рекомендую использовать jQuery для обработки этого
Попробуйте:
<input data-disable-with="Saving..." name="commit" type="submit" value="Create new item">
Обратите внимание на
data-disable-with="Saving..."
Я перепробовал все предложения в Интернете, включая приведенные выше, и это единственное, что, похоже, работает во всех браузерах. Я использую CakePHP 1.2.
echo $form->submit('Submit', array('onClick' => 'this.disabled=true;this.form.submit();return true;'));
Надеюсь, это поможет.