注册页面代码:
<!DOCTYPE html><html lang="en">
<head>
<meta charset="UTF-8">
<title>注册</title>
</head>
<body>
<form method="post" onsubmit="return false" id="form">
<input type="text" name="username" placeholder="用户名"><br>
<input type="password" name="password" placeholder="密码"><br>
<input type="password" name="rePassword" placeholder="再次输入密码"><br>
<input type="submit" onclick="register_user()" value="注册"><br>
</form>
<a href="login.html">去登录</a>
<script>
var localDB = openDatabase('localDB', '1.0', 'Test DB', 2 * 1024 * 1024)
localDB.transaction(function (ts) {
ts.executeSql('CREATE TABLE IF NOT EXISTS user(username,password)')
})
function register_user() {
var username = document.getElementsByTagName("input")[0].value
var password = document.getElementsByTagName("input")[1].value
var rePassword = document.getElementsByTagName("input")[2].value
if(password != rePassword)
{
alert("两次输入的密码不同,请重新输入")
}else
{
localDB.transaction(function(ts){
ts.executeSql("INSERT INTO user (username,password) VALUES ('"+username+"','"+password+"')")
alert("注册成功")
})
}
}
</script>
</body>
</html>
登录页面代码:
<!DOCTYPE html><html lang="en">
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<form onsubmit="return false" method="post">
<input type="text" placeholder="用户名"><br>
<input type="password" placeholder="密码"><br>
<input type="submit" value="登录" onclick="login()"><br>
</form>
<a href="register.html">去注册</a>
<script>
var localDB = openDatabase('localDB', '1.0', 'Test DB', 2 * 1024 * 1024)
localDB.transaction(function (ts) {
ts.executeSql("SELECT * FROM user",[],function (tx, results) {
var len = results.rows.length
if(len<=0)
{
localDB.transaction(function (ts) {
ts.executeSql('CREATE TABLE IF NOT EXISTS user(username,password)')
})
}
})
})
function login() {
var username = document.getElementsByTagName("input")[0].value
var password = document.getElementsByTagName("input")[1].value
localDB.transaction(function (ts) {
ts.executeSql("SELECT * FROM user WHERE username='"+username+"'",[],function (ts, res) {
if(res.rows.length<=0)
{
alert("登录失败,用户未注册")
}else if (password == res.rows[0].password)
{
alert("登录成功,三秒后跳转到百度")
setInterval(function () {
location.href = "https://www.baidu.com"
},3000)
}else
{
alert("登录失败,密码错误")
}
})
})
}
</script>
</body>
</html>
以上代码使用了WEB SQL,还请选择合适的浏览器查看。
我是这么认为的!js和html只能做客户端的事情,如界面元素布局,表单验证这类的事情。如果只是要这样一个表单,那就太简单了。致于登录验证这样的事,需要后台支持的,数据可能来自数据库,只用js和html是完成不了的。
/**
* 显示一个弹出界面
*
* @param url
*界面地址,可以使jsp,页也可以是action
* @param params
*需要传递的参数
* @param titleDesc
*页面头描述
* @param width
*页面宽度
* @param height
*页面高度
* @param parentView
*页面所在的父页面
* @param callback
纯JS完成? 具体哪些功能?页面1:
reg.html
<html>
<head>
<script>
function checkForm (obj) {
var ele = obj.elements
for (var i = 0i <ele.length++i) {
var e = ele[i]
if (e.name) {
if (e.type == 'select-one') {
if (e.options[e.selectedIndex].value == '') {
alert('请选择籍贯')
return false
}
else {
continue
}
}
else if (e.type == 'select-multiple') {
continue
}
else if (e.type == 'checkbox' || e.type == 'radio') {
var checkObj = document.getElementsByName(e.name)
var check = false
for (var j = 0j <checkObj.length++j) {
if (checkObj[j].checked) {
check = true
}
}
if (!check) {
alert('请做出选择,性别或爱好')
return false
}
}
else if (e.type == 'button') {
continue
}
else if (e.type=='hidden') {
continue
}
else if (typeof e.value != 'undefined' &&e.value != '' &&e.style.visibility != 'hidden') {
continue
}
else {
alert('用户或密码,年龄为空')
return false
}
}
}
return true
}
</script>
</head>
<body>
<form id="form1" method="get" action="reg_save.html" onsubmit="return checkForm(this)">
<table width="343" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="43" colspan="2">注册</td>
</tr>
<tr>
<td width="157" height="32">姓名:</td>
<td width="186"><input type="text" name="username" id="username" /></td>
</tr>
<tr>
<td width="157" height="32">密码:</td>
<td width="186"><input type="password" name="passwd" id="passwd" /></td>
</tr>
<tr>
<td height="37">年龄:</td>
<td><input type="text" name="txtAge" id="textfield2"></td>
</tr>
<tr>
<td height="36">性别:</td>
<td><input name="sex" type="radio" id="sex1" value="男">
男
<input type="radio" name="sex" id="sex2" value="女">
女</td>
</tr>
<tr>
<td height="41">籍贯:</td>
<td><select name="jiguan" id="select">
<option value="">请选择</option>
<option value="广东">广东</option>
<option value="湖南">湖南</option>
<option value="广西">广西</option>
<option value="湖北">湖北</option>
<option value="北京">北京</option>
<option value="上海">上海</option>
</select></td>
</tr>
<tr>
<td height="35">爱好: </td>
<td><input type="checkbox" name="hobby" id="hobby1" value="看书">
看书
<input name="hobby" type="checkbox" id="hobby2" value="上网" />
上网
<input type="checkbox" name="hobby" id="hobby3" value="运动">运动</td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="tijiao" id="tijiao" value="提交"></td>
</tr>
</table>
</form>
</body>
</html>
=========
页面2:
reg_save.html
<html>
<head>
</head>
<body>
<script>
var request = {
QueryString : function(val) {
var uri = window.location.search
var re = new RegExp("" +val+ "\=([^\&\?]*)", "ig")
return ((uri.match(re))?(uri.match(re)[0].substr(val.length+1)):null)
},
QueryStrings : function() {
var uri = window.location.search
var re = /\w*\=([^\&\?]*)/ig
var retval=[]
while ((arr = re.exec(uri)) != null)
retval.push(arr[0])
return retval
}
}
var q = request.QueryStrings()
for (var i in q) {
document.write(decodeURIComponent(q[i]) + '<br />')
}
</script>
</body>
</html>