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