Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何重置当前页面之前的表单数据_Javascript_Jquery Ui_Jquery - Fatal编程技术网

Javascript 如何重置当前页面之前的表单数据

Javascript 如何重置当前页面之前的表单数据,javascript,jquery-ui,jquery,Javascript,Jquery Ui,Jquery,我创建了一个JSP页面来插入用户信息并显示插入的信息: 要获取插入数据页,我有一个链接,例如:mysite/insertInfo 首先接受用户信息并验证它们。如果提交表单有效,则在发生验证错误时,重定向到同一页面,并且不会丢失任何表单数据。在servlet(或控制器类)上保存数据并重定向到同一页面。我使用jQuery重定向,如下所示: url = baseURL + "/saveUserInfo"; params = {}; params.name = $(".txtname').val();

我创建了一个JSP页面来插入用户信息并显示插入的信息:

要获取插入数据页,我有一个链接,例如:mysite/insertInfo

首先接受用户信息并验证它们。如果提交表单有效,则在发生验证错误时,重定向到同一页面,并且不会丢失任何表单数据。在servlet(或控制器类)上保存数据并重定向到同一页面。我使用jQuery重定向,如下所示:

url = baseURL + "/saveUserInfo";
params = {};
params.name = $(".txtname').val();
params.email = $('.txtemail').val();
ajax(url, params, false, function(data) {
    $('.form').empty();
    if (data) {
        // SHOW SUCCESS INFO
        html = [];
        html.push("<div>Success</div>");
        $('. form').append(html.join(''));
    }
});
url=baseURL+“/saveUserInfo”;
params={};
params.name=$(“.txtname”).val();
params.email=$('.txtemail').val();
ajax(url、参数、false、函数(数据){
$('.form').empty();
如果(数据){
//显示成功信息
html=[];
推送(“成功”);
$('.form').append(html.join('');
}
});
第二,我将展示这些是以前插入的。是的,它很简单,很好

我的问题是,当用户转到页面mysite/insertInfo 同样,这里有一个带有插入数据的表单。不,我不想再次看到它们。我不想重定向到另一个页面,例如:success.jsp。我只想使用一个jsp文件。作为的说明,我用它进行了测试


$('#myform')。触发器(“重置”)
在提交此表单之前。这很好,可以重置。但是当我到达成功页面并通过链接返回插入表单页面时,我看到了带有以前插入数据的表单。如何处理?如果有任何建议,将不胜感激。我想我的浏览器可能会缓存它,但我不确定。

当您成功保存数据后,请添加此以清除each输入字段

$('form input').val("");

现在,我的问题被罚款,使用sessionStorage from。添加以下脚本真的很好


函数insert_previous_data(){
var name=sessionStorage.getItem(“名称”);
如果(姓名){
$('#inputName').val(名称);
}
var email=sessionStorage.getItem(“电子邮件”);
如果(电子邮件){
$('#inputEmail').val(电子邮件);
}
}
window.onload=函数(){
var isForReview=sessionStorage.getItem(“forReview”);
如果(isForReview){
插入上一个数据();
sessionStorage.removeItem(“供审查”);
}
var isForValidate=sessionStorage.getItem(“forValidate”);
if(isForValidate){
插入上一个数据();
var errorMsgName=sessionStorage.getItem(“errorMsgName”);
if(errorMsgName){
$('#errorMsgName').addClass(“error”);
$('#errorMsgName').text(errorMsgName);
}
var errorMsgEmail=sessionStorage.getItem(“errorMsgEmail”);
if(errorMsgEmail){
$('errorMsgEmail').addClass(“error”);
$('errorMsgEmail').text(errorMsgEmail);
}
sessionStorage.removietem(“forValidate”);
}
}

为什么不使用$.ajax{success:function(){});我想这与$('#myform').trigger(“reset”);您的意思是我的JSP应该有布尔变量来检查清除表单数据吗?很抱歉,我忘记了显示,当验证无效时,重定向到同一页面,并且不会丢失任何表单数据。
  <script type="text/javascript">
        function insert_previous_datas() {
            var name = sessionStorage.getItem("name");
            if (name) {
                $('#inputName').val(name);
            }
            var email = sessionStorage.getItem("email");
            if (email){
                $('#inputEmail').val(email);
            }
        }
        window.onload = function() {
            var isForReview = sessionStorage.getItem("forReview"); 
            if (isForReview) {
                insert_previous_datas();
                sessionStorage.removeItem("forReview");
            }
            var isForValidate  = sessionStorage.getItem("forValidate");
            if (isForValidate) {
                insert_previous_datas();
                var errorMsgName = sessionStorage.getItem("errorMsgName");
                if (errorMsgName) {
                    $('#errorMsgName').addClass("error");
                    $('#errorMsgName').text(errorMsgName);
                }
                var errorMsgEmail = sessionStorage.getItem("errorMsgEmail");
                if (errorMsgEmail) {
                    $('#errorMsgEmail').addClass("error");
                    $('#errorMsgEmail').text(errorMsgEmail);
                }
                sessionStorage.removeItem("forValidate");
            }
        }
    </script>