0
<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 功能。有人可以启发我吗?谢谢!

4

1 回答 1

2

不要使用内联事件侦听器。这是我在过去几个月中学到的。

试试这些:

  1. 给提交按钮一个 ID (id="sumitbbutton") 或其他什么。
  2. 使用此代码检查点击: document.getElementById("submitbutton").onclick = thyfunction()

检查 JS 控制台(在 chrome 中按 f12)并查看是否抛出任何错误,并将它们发布在这里。

“返回”也可能会弄乱代码。

我在 Js 方面不是最好的,但这就是我所知道的。希望能帮助到你 :)

PS 尝试检查@Robbert 的评论。

于 2013-07-09T18:09:19.897 回答