求代码,用html做一个用户名密码登录界面,用JavaScript调用XML文件中已有的列表进行对比

不知道说清楚了没,就是把合法的用户名密码保存在XML文件中,登录时由JS调用进行比较,不要做成asp格式的网页哦,最好还能有记住用户名功能,不需要注册新用户功能

一旦采用答案将追加30~50分,谢谢!

你好,我帮你实现了你需要的功能。
首先你建立一个xml文件:data.xml用来保存用户名和密码,我写了如下内容保存至此data.xml文件内
————————————————
<?xml version="1.0" encoding='gb2312'?>
<user>
<id>001</id>
<name>leezi</name>
<pass>ms#leezi</pass>
</user>
———————————————————

然后写登录页面login.html,代码如下:
——————————
<html>
<head>
<style type="text/css">

</style>
</head>
<body>
name:<input type="text" id="input_name"/>
pass:<input type="password" id="input_pass"/>
<input type="button" value="login" onclick="validate()"/>
<script type="text/javascript">
function loadXMLDoc(dname)
{
try //Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
catch(e)
{
try //Firefox, Mozilla, Opera, etc.
{
xmlDoc=document.implementation.createDocument("","",null);
}
catch(e) {alert(e.message)}
}
try
{
xmlDoc.async=false;
xmlDoc.load(dname);
return(xmlDoc);
}
catch(e) {alert(e.message)}
return(null);
}

function validate(){
xmlDoc=loadXMLDoc("data.xml");
if(window.ActiveXObject){
var nodes=xmlDoc.documentElement.childNodes;
var xml_name=nodes[1].childNodes[0].nodeValue;
var xml_pass=nodes[2].childNodes[0].nodeValue;
if((xml_name==document.getElementById("input_name").value)&&(xml_pass==document.getElementById("input_pass").value)){
document.write("successfully login");
return true;
}else{
document.write("name or pass,one is wrong");
return false;
}
}else if(typeof DOMParser!="undefined"){
var doc=xmlDoc.documentElement;
var xml_name=doc.childNodes[3].childNodes[0].nodeValue;
var xml_pass=doc.childNodes[5].childNodes[0].nodeValue;
if((xml_name==document.getElementById("input_name").value)&&(xml_pass==document.getElementById("input_pass").value)){
document.write("successfully login");
return true;
}else{
document.write("name or pass,one is wrong");
return false;
}
}
}
</script>
</body>
</html>

——————————————————————
注意data.xml和login.html两个文件放到同一个目录下面。处理完上述步骤后打开login.html输入用户名和密码进行测试,你可以在data.xml里面看到我设置的name和pass分别为:leezi和ms#leezi
你可以输入进行测试。
温馨提示:答案为网友推荐,仅供参考
相似回答