Вот пример перехода, который расширяется по решению Андреаса Кёберле. Он использует JQuery для обработчика событий и документов готового события, но те, может быть включен в обычный JS:
(function(document, $) {
$(function() {
$(document).on('click', '[disable-on-click], .disable-on-click', function() {
var disableText = this.getAttribute("data-disable-text") || 'Processing...';
if(this.form) {
this.form.submit();
}
this.disabled = true;
if(this.tagName === 'BUTTON') {
this.innerHTML = disableText;
} else if(this.tagName === 'INPUT') {
this.value = disableText;
}
});
});
})(document, jQuery);
Он может быть использован в HTML так:
<button disable-on-click data-disable-text="Saving...">Click Me</button>
<button class="disable-on-click">Click Me</button>
<input type="submit" disable-on-click value="Click Me" />
Возможно, это не ошибка вызовов, которые вы показываете. Пожалуйста, покажите полный HTML-код формы. –
Не используйте событие onclick кнопки submit - используйте событие onsubmit формы. В противном случае вы не поймаете представление с клавиатуры. – Nick