HTML onclick不会触发功能

时间:2013-07-09 17:59:03

标签: php javascript html

<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功能。任何人都可以开导我吗?谢谢!

1 个答案:

答案 0 :(得分:2)

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

试试这些:

  1. 为提交按钮提供ID(id =“sumitbbutton”)或其他任何内容。
  2. 使用此代码检查点击次数:document.getElementById(“submitbutton”)。onclick = thyfunction()
  3. 检查JS控制台(在chrome中点击f12)并查看是否有任何错误被抛出,并在此处发布。

    “返回”也可能会破坏代码。

    我不是Js的最佳人选,但这就是我所知道的。希望它有所帮助:)

    P.S。试着检查@Robbert的评论。