<html>
<title>Register</title>
<head>
<script type="text/javascript" src="sha512.js"></script>
<script>
function formhash(form, password, confirm_password) {
if(password.value==confirm_password.value){
var p = document.createElement("input");
p.name = "p";
p.type = "hidden";
p.value = hex_sha512(password.value);
password.value = "";
form.appendChild(p);
form.submit;
return true;
}
else{
header('Location: ./register.php?error=1');
return false;
}
}
</script>
</head>
<body>
<form action="process_register.php" method="post" name="register_form">
Username: <input type="text" name="username"/></br>
Email: <input type="text" name="email"/></br>
Password: <input type="password" id="password" name="password"/></br>
Confirm Password: <input type="password" id="confirm_password" name="confirm_password"/></br>
<input type="submit" value="Register" onclick="return formhash(this.form, this.form.password, this.form.confirm_password);"/>
</form>
</body>
</html>
大家好,我对网络编码比较陌生。我正在尝试进行注册页面,但onclick根本不会触发formhash功能。任何人都可以开导我吗?谢谢!
答案 0 :(得分:2)
不要使用内联事件监听器。这是我过去几个月学到的。
试试这些:
检查JS控制台(在chrome中点击f12)并查看是否有任何错误被抛出,并在此处发布。
“返回”也可能会破坏代码。
我不是Js的最佳人选,但这就是我所知道的。希望它有所帮助:)
P.S。试着检查@Robbert的评论。