<script type="text/javascript">
var geid = function(x) {
var element = document.getElementById(x);
return element;
}
function submitForm(){
var password = geid('password').value;
var passwordConfirm = geid('passwordConfirm');
//THIS IS OF HIGH IMPORTANCE THAT THIS CONFIRM PASSWORD MATCHES
//WILL NEED TO VALIDATE IT IN THE PHP AS WELL>
else if (password == ""){
registerMessage.innerHTML = "Please enter your Password.";
return false;
}
else if (passwordConfirm == "") {
registerMessage.innerHTML = "Please confirm your password.";
return false;
}
else if (passwordConfirm != password) {
registerMessage.innerHTML = "Your passwords don't match.";
return false;
}
else {
registerMessage.innerHTML = "Taking you to your profile, please wait a moment...";
document.forms['registerform'].submit();
}
}
<form method="post" action="register.php" id="registerform" onsubmit="return submitForm()">
<label for="password" class="registerLabel">Password</label>
<input type="password" name="password" id="password" class="registerText" /> <br />
<label for="passwordConfirm" class="registerLabel">Confirm Password</label>
<input type="password" name="passwordConfirm" id="passwordConfirm" class="registerText" /> <br />
<div class="submitMessage">
<input type="submit" id="submit" name="submit" value="Register" class="registerButton cleangray" /><br />
<div id="registerMessage"><?php echo $error ?></div>
</div>
<div class="clear"></div>
</form>
答えて
else if
で始めることはできません。あなたが実行しているとちょうど標準提出するメカニズムを使用してフォームを送信からあなた検証コードのいずれかを防止することだif
if (password == ""){
registerMessage.innerHTML = "Please enter your Password.";
return false;
}
で開始する必要があります。
これは、検証にアプローチする最善の方法でもありません。それぞれのエラーに戻るのではなく、一連のメッセージをまとめて、すべてを一度に報告することができます。そうすれば、ユーザは間違ったことをすべて知っているでしょう。—あなたの現在のメソッドは1つのメッセージしか設定しません。
具体的に言えば、この解析エラーは関数の実行を妨げ、 'return false'が呼び出されません。しかし、この仕組みはJavascriptに結合されていないため、依然としてフォーム提出が進められます。 –
@Tomalak Geret'kal:あなたはそのコメントを書いていたので、私の答えを更新していました:) – Town
Meh @ iterative answering! –
JavaScriptでエラーが発生したため、else if
を使用しています(if
は最初に定義されていません)。このエラーのため、すべてのJavaScriptコードが失敗します。あなたのコードをHTMLにところでデモhttp://jsfiddle.net/Zs3km/
作業
if (password == ""){
へ
変更
else if (password == ""){
はちょうどここにそのあなたのミスであれば必ず、<script>
タグ内にありません。 <form>
タグを開く前に、<script>
タグを閉じる必要があります。
- 1. 送信ボタンの名前が「送信」のときにフォームが送信されないのはなぜですか?
- 2. 送信ボタンで送信しないフォーム
- 3. 送信ボタンなしでPDFフォームを送信できますか?
- 4. 送信ボタンでフォームを送信
- 5. Ajaxフォーム送信ボタン付きで送信
- 6. 強制フォーム送信ボタンjqueryでクリック
- 7. HTMLフォームのボタンでデータが送信されるのはなぜですか?
- 8. フォームの送信ボタンの値を送信していますか?
- 9. Vueボタンをクリックするとフォームが送信されます
- 10. IE11の入力送信ボタンをクリックしてフォームを送信できません
- 11. PHPフォーム送信ボタン/データベースに送信
- 12. フォームが送信されたときにボタンがクリックされるのはなぜですか?
- 13. なぜ私のJavaScriptフォームは送信されませんか?
- 14. なぜこのボタンでフォームを送信できないのですか
- 15. フォームを送信ボタンなし
- 16. フォームを送信すると、クリックされたボタンも表示されますか?
- 17. なぜ型のボタンが送信されますか?
- 18. メッセージが送信されない場合でも、送信ボタンが隠れているのはなぜですか?
- 19. フォームが最初のクリックではなく2回目のクリックで送信されるのはなぜですか?
- 20. JavaScriptを使用して手動でフォームを送信しても、送信ボタンは送信されません。
- 21. 送信ボタンをクリックすると$ _GET変数が送信されます
- 22. 送信ボタンをクリックすると、フォームデータが複数回送信されます
- 23. MS Edgeのデータを送信しないフォーム送信ボタン
- 24. フォーム送信ボタンのPHPスクリプト
- 25. HTMLフォーム送信ボタンのチェック
- 26. 送信ボタンのない最も近いフォームを送信しますか?
- 27. HTMLフォーム送信ボタンはデータフォームを送信しません
- 28. phpフォーム送信ボタン - 送信できません
- 29. 送信ボタンはフォームタグ内には送信されません
- 30. マウスのボタンを使わずにフォームを送信すると、ボタンのonclickイベントが送信されますか?
これを良い質問にするには、フォームを提出しないと考える理由を説明する必要があります。 **コードダンプは質問ではありません** –