登録ページを作成しようとしていますが、最も苦労しています。
<form action="insert.php" method="post">
<h1>Registration:</h1>
<input type="text" name="first" placeholder="First name">
<input type="text" name="last" placeholder="Last name"><br />
<input type="text" name="username" placeholder="Username"> <br />
<input type="password" name="password" placeholder="password"> <br />
<input type="password" name="confirmPass" placeholder="Confirm Password"> <br />
<input type="submit" value="Register">
</form>
これは登録ページの私のコードです。 JavaScript関数を呼び出して、まだ投稿してアクションを実行するにはどうすればよいですか?私はこれを別個のシンプルなモジュールとして作成しましたが、それらをマージしたいと思います
<input id="pass1" type="password" placeholder="Password" style="border-radius:7px; border:2px solid #dadada;" /> <br />
<input id="pass2" type="password" placeholder="Confirm Password" style="border-radius:7px; border:2px solid #dadada;"/> <br />
<script>
function myFunction() {
var pass1 = document.getElementById("pass1").value;
var pass2 = document.getElementById("pass2").value;
if (pass1 != pass2) {
//alert("Passwords Do not match");
document.getElementById("pass1").style.borderColor = "#E34234";
document.getElementById("pass2").style.borderColor = "#E34234";
}
else {
alert("Passwords Match!!!");
}
}
</script>
<button type="button" onclick="myFunction()">Sumbit</button>
それらをマージするのに助けは必要ありません、いくつかのことを切り替える必要があることは知っていますが、それらが一緒になっている場合、JavaScript関数をどのように呼び出すのですか?
これは、何をすべきかを考え出した後、よりきちんと行われます。それで、JavaScript関数を呼び出すための最良の方法は何でしょうか。送信ボタンを捨てて、JavaScript関数を呼び出すボタンタイプを実行することもできますが、機能するかどうかはどうなりますか?私は本質的に(この時点で)パスワードが同じであることを確認し、そうでない場合はinsert.phpに進みませんが、一致する場合はフォームデータをinsert.phpに渡します
フォームにonsubmit
イベントハンドラーを追加するだけです:
<form action="insert.php" onsubmit="return myFunction()" method="post">
onclick
からbutton
を削除し、input
型のsubmit
にします
<input type="submit" value="Submit">
そして、関数にブール値のreturnステートメントを追加します。
function myFunction() {
var pass1 = document.getElementById("pass1").value;
var pass2 = document.getElementById("pass2").value;
var ok = true;
if (pass1 != pass2) {
//alert("Passwords Do not match");
document.getElementById("pass1").style.borderColor = "#E34234";
document.getElementById("pass2").style.borderColor = "#E34234";
ok = false;
}
else {
alert("Passwords Match!!!");
}
return ok;
}
if ($("#Password").val() != $("#ConfirmPassword").val()) {
alert("Passwords do not match.");
}
不要なコードを排除するJQueryアプローチ。
これをフォームに追加します。
<form id="regform" action="insert.php" method="post">
これを関数に追加します。
<script>
function myFunction() {
var pass1 = document.getElementById("pass1").value;
var pass2 = document.getElementById("pass2").value;
if (pass1 != pass2) {
//alert("Passwords Do not match");
document.getElementById("pass1").style.borderColor = "#E34234";
document.getElementById("pass2").style.borderColor = "#E34234";
}
else {
alert("Passwords Match!!!");
document.getElementById("regForm").submit();
}
}
</script>