Раньше в моем пользовательском интерфейсе у меня была кнопка «Загрузить», чтобы загрузить файл на сервер после просмотра файла. Затем введите пароль в поле пароля и нажмите кнопку «Выполнить» для обработки файла. Все работало нормально.
Теперь требование изменилось: кнопки «Загрузить» не должно быть. там должна быть только кнопка «Выполнить».
Означает, что один раз после просмотра файла и ввода пароля в поле «Пароль» и нажатия кнопки «Выполнить» файл сначала должен быть загружен на сервер и тогда файл тоже должен быть обработан.
Я попытался переместить коды функции 'upload ()' в функцию 'run ()', но она работает, только если есть задержка. например, если есть предупреждающее сообщение, то он работает нормально, иначе перед загрузкой файла кнопка запуска пытается обработать файл и завершается ошибкой. Пробовал Thread.sleep (5000); а также не работает
/* function upload() {
document.getElementById("messageDiv").innerHTML = "";
var file = window.document.forms[0].file.value;
if (file == "") {
alert("Select a file to upload!!");
} else {
window.document.forms[0].action = "<%=request.getContextPath()%>/FileUpload.do?Action=Upload";
window.document.forms[0].submit();
}
}*/
function runButton(){
document.getElementById("messageDiv").innerHTML = "";
var file = window.document.forms[0].file.value;
if (file == "") {
alert("Select a file to upload!!");
} else {
window.document.forms[0].action = "<%=request.getContextPath()%>/FileUpload.do?Action=Upload"; //FileUploadServlet"; //
window.document.forms[0].submit();
}
/* alert(" Upload Completed, Next runButton!! "); */ ** ---> if this is uncommented then works fine. **
window.document.forms[0].action="<%=request.getContextPath()%>/FileUpload.do?Action=Run";
var passwd = window.document.forms[0].passwd.value;
if (passwd == null || passwd == "") {
alert(" Password cannot be empty!! ");
} else {
window.document.forms[0].submit();
window.document.forms[0].passwd.value='';
}
document.getElementById("messageDiv").innerHTML = "";
}
Предложения, пожалуйста