Мне нужно обновить приложение, чтобы при нажатии пользователем кнопки и т. Д. Все поля ввода становились недоступными. Вот то, что у меня есть для javascript. Следующее работает и все, так что не беспокойтесь там.
function disableAllInputs() {
var inputs = getAllInputs();
for (i = 0; i < inputs.length; i++) {
inputs[i].disabled = true;
}
}
function enableAllInputs() {
var inputs = getAllInputs();
for (i = 0; i < inputs.length; i++) {
inputs[i].disabled = false;
}
}
function getAllInputs() {
var inputs = document.getElementsByTagName('input');
var selects = document.getElementsByTagName('select');
var allInputs = new Array();
var counter = 0;
for (i = 0; i < inputs.length ; i++) {
allInputs[counter] = inputs[i];
counter++;
}
for (i = 0; i < selects.length; i++) {
allInputs[counter] = selects[i];
counter++;
}
return allInputs;
}
Теперь, в моем HTML, я в основном это:
<form name="MyForm" method="post" action="MyAction.do" onsubmit="onSubmit();">
//form code
<input type="submit" value="Save" name="submit" onclick="onSaveClick()" >
</form>
Кажется, все работает нормально. Однако мне нужно сделать все это тестируемым. Я хотел бы поставить задержку, чтобы все зависало, и тестер мог убедиться, что все отключено и т. Д. Но эта пауза должна быть временной и немедленно удаляемой без каких-либо возможных побочных эффектов (т.е. было бы неплохо вызвать паузу ( ), а затем просто удалите вызов).
Вот несколько вопросов:
1 - Если я вызываю метод disableAllInputs в методе onSaveClick, форма не отправляется (я полагаю, потому что кнопка была отключена).
2 - Если я вызываю метод disableAllInputs в методе onSubmit, пауза не работает.
Может кто-нибудь придумать способ безболезненной приостановки отправки формы после отключения кнопок? Я знаю о setTimeout и т. Д. Я просто не могу найти подходящее местоположение вызова и т. Д. Для использования. Ничто, кажется, не приостанавливает форму И в конечном итоге отправляет форму.
Кроме того, я бы поместил JS в отдельный файл .js, поэтому было бы неплохо, если бы я мог просто включить файл и добавить метод disableAllInputs, где это необходимо (то есть я бы хотел избежать тайм-аута по методу onSubmit и т. д.).