如何在将表单提交给servlet之前显示进度页面?

时间:2014-03-26 10:50:13

标签: javascript html forms jsp servlets

我使用HTML表单允许用户将一些文件上传到java servlet并开始一些分析。当用户点击提交时,我使用javascript函数对表单进行快速验证,即他们选择了正确的选项,输入了有效的电子邮件等。

然后将表单数据传递给我的servlet中的doPost()方法,在那里我对输入数据中的错误进行更复杂的检查。在此之后,用户被转发到错误页面或被通知作业已经开始。

我想要做的是在servlet中进行错误检查时显示进度页面。我似乎无法将用户转发到servlet中的进度页面,因为这会提交响应,我无法继续检查,然后将用户转发到相关页面。这解释为here.

我认为答案可能是在用户单击提交按钮时以及在将表单数据发送到servlet之前显示进度页面。这可以在表单中的javascript验证中完成。到目前为止,我对此的尝试都失败了。我想我误解了什么!

我已尝试使用here列出的建议来使用window.location.replace(...),但它似乎无法正常工作。我还尝试使用按钮代替提交输入类型,并在javascript中定义表单操作,如图所示here.

我的javascript验证功能是

    <script language="JavaScript">
    <!-- // ignore if non JS browser
    function Validator(form) {
        var error = "";
        if (form.family.value == "") {
            error += "Please upload a family file\n";
        }
        if (error != "") {
            alert(error);
            return (false);
        } else {
            window.location.replace("http://stackoverflow.com");
            return (true);
        }
    }

我的表单是使用提交输入中的<form method="POST" enctype="multipart/form-data" action="runDupliPHY.do" onsubmit="return Validator(this);">提交的。

在提交表单之前如何显示进度页面以便用户在servlet处理表单数据时看到进度页面的任何示例都会很棒。

0 个答案:

没有答案