[英]How to use of document.getElementById
在我的JSP页面中,我有一个用于登录的表单,其中有两个文本框,名称和ID为“ u”代表用户名,“ p”代表密码。 我将值视为
var user = document.getElementById(“ u”)。value;
var pass = document.getElementById(“ p”)。value;
当应用程序的第一个用户尝试以用户user1身份登录并以pass1身份通过时。 该值被传递到admin.java,后者通过使用request.getParameter获取值。
一切都很好,第一个用户注销后。 另一个用户尝试使用身份验证用户作为user2并以pass2作为密码再次登录,问题出在变量user并传递index.jsp保留了user1和pass1相同的旧值。 我通过警报框检查了这些。 相同的值传递到Admin.java。
index.jsp中的代码是
function prepareLoginDialog(){
$dialog = $('<div></div>')
.html('<div id="dialog-confirm" title="Enter the login details here :">'+
'User: <input type="text" id="u" name="u" ></input><br />'+
'Pass: <input type="password" id="p" name="p" ></input>'+
'</div>')
//System.out.println(user);
//System.out.println(pass);
.dialog({
autoOpen: false,
modal: true,
title: 'Login',
buttons: {
'Login': function() {
//Send Login Request to Server
alert("I in login");
var user = document.getElementById("u").value;
var pass = document.getElementById("p").value;
alert(user);
alert(pass);
//System.out.println(u.text);
login(user,pass);
$(this).dialog('close');
},
Cancel: function() {
$(this).dialog('close');
}
}
});
$('#login').click(function() {
$dialog.dialog('open');
// prevent the default action, e.g., following a link
return false;
});
}
为什么在两个变量中不采用新值? 我哪里出问题了?
我认为您的问题与我在这里提到的问题相同: AJAX请求完成后变量不会刷新
基本上,如果您每次都重新创建对话框,那么您也在重新创建ID。 这意味着它们不再是唯一的,并且可能导致脚本问题。 尝试向对话框脚本添加close
函数,如下所示:
.dialog({
autoOpen: false,
modal: true,
title: 'Login',
buttons: {
'Login': function() {
//Send Login Request to Server
alert("I in login");
var user = document.getElementById("u").value;
var pass = document.getElementById("p").value;
alert(user);
alert(pass);
//System.out.println(u.text);
login(user,pass);
$(this).dialog('close');
},
Cancel: function() {
$(this).dialog('close');
}
},
close: function() { $dialog.remove(); } //$(this).remove(); Might also work.
});
当对话框关闭时,这将从DOM中删除该对话框。
从我的其他帖子中:
您的另一选择是将对话框保存在全局变量中,然后检查它是否已定义。 如果没有做您正在做的事情。 如果有的话,设置一个变量以告诉它您正在编辑的项目的ID是什么,并在运行.dialog(“ open”);之前将所有文本框重置为空白。 再次。
它是否仅在您的Box中发生? 为什么不检查清除临时文件和cookie并尝试一下。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.