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>

こんにちは、私は Web コーディングに比較的慣れていません。登録ページを作成しようとしていますが、onclick でフォームハッシュ関数がまったくトリガーされません。誰でも私を啓発できますか?ありがとう!

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 に答える