header( "refresh:5;url=wherever.php" );
это способ php для установки
header
, который перенаправит вас наwherever.php
за 5 секундПомните, что header () необходимо вызвать до фактический вывод отправляется либо обычными тегами HTML, пустые строки в файле, либо из PHP. Очень распространенная ошибка для чтения кода с включением или требованием, функциями или другой функцией доступа к файлам, а также пробелы или пустые строки, которые выводятся перед вызовом header (). Та же проблема существует при использовании одного файла PHP / HTML. (источник php.net )
blockquote>
Для всех кнопок отправки, с помощью JQuery, это было бы:
$('input[type=submit]').click(function() { this.disabled = true; });
Или могло бы быть более полезно сделать так на представлении формы:
$('form').submit(function() {
$('input[type=submit]', this).attr("disabled","disabled");
});
Но я думаю, что мы могли дать лучший ответ на Ваш вопрос, если бы мы знали немного больше о контексте.
Если это будет запросом ajax, то необходимо будет удостовериться, что Вы включаете кнопки отправки снова на любой успешности или неуспешности.
Если это - стандартное представление формы HTTP (кроме отключения кнопки с JavaScript), и Вы делаете это к безопасности от нескольких представлений той же формы, то необходимо иметь своего рода контроль в коде, который имеет дело с отправленными данными, потому что отключение кнопки с JavaScript не могло бы предотвратить несколько представлений.
Вы могли сделать что-то вроде этого:
$('form').submit(function() {
$(this)
.find(":submit,:image") // get all the submit buttons
.attr({ disabled : 'disabled' }) // disable them
.end() // go back to this form
.submit(function() { // change the onsubmit to always reject.
return false;
})
;
});
Преимущества этого:
form.submit()
из некоторого другого кода<input type="submit"/>
<button type="submit"></button>
<input type="image" />
Я предполагаю, что Вы не хотите, чтобы они поразили кнопку отправки несколько раз, в то время как отправление обрабатывает.
Мой подход должен был просто скрыть кнопку полностью и отобразиться, своего рода индикатор состояния (анимировал gif, и т.д.), вместо этого.
Вот очень изобретенный пример (это находится технически в прототипе, но я думаю, что версия jQuery была бы очень похожа):
<html>
<head>
<script type="text/javascript" src="include/js/prototype.js"></script>
<script type="text/javascript">
function handleSubmit()
{
$('submit').hide();
$('progressWheel').show();
return true;
}
</script>
</head>
<body>
<img src="include/images/progress-wheel_lg.gif" id="progressWheel" style="display:none;"/>
<input type="submit" name="submit" id="submit" value="Submit" onclick="handleSubmit();"/>
</body>
</html>
в JQuery:
$('#SubmitButtonID').click(function() { this.disabled = true; });
Как насчет
Код позади:
btnContinue3. Атрибуты. Объект ("onclick") = "disableSubmit ()"
JavaScript:
function disableSubmit() {
document.getElementById('btnContinue3').onclick = function() {
alert('Please only click once on the submit button!'); return false;
};
}
Это не решает проблему того, что происходит, если обратная передача испытывает таймаут, но кроме которого она работала на меня.
Существует три способа отправить форму, которая должна быть покрыта. Используйте и предложения David McLaughlin и Jimmy. Каждый отключит элемент формы кнопки отправки, в то время как другой отключает основную HTML-форму, отправляют.
Для третьего они не отключат JavaScript от выполнения form.submit (). OnSubmit="return false"
метод только применяется, когда пользователь нажимает кнопку отправки или нажимает Enter во входном элементе формы. Клиентские сценарии должны будут быть обработаны также.
На вещи знать то, что Вы не должны отключать кнопку, прежде чем форма будет отправлена. При отключении кнопки с помощью JavaScript в событии OnClick, можно проиграть, форма отправляют.
Таким образом, я предложил бы, чтобы Вы скрыли кнопку с помощью JavaScript путем размещения изображения выше его или путем перемещения кнопки из дальности видимости. Это должно позволить форму, отправляют для продолжения обычно.