[解決済み] パスワードが一致しても、パスワードの確認で「パスワードが一致しません」と表示されることがある
2022-02-05 22:46:13
質問
そこで、サインアップフォームを作成しているのですが、パスワードと確認用パスワードの両方が一致するように、パスワードの検証を追加しました。このアイデアは、最初にパスワードを入力する際に "パスワードが一致しません" .
これは、パスワードの確認入力でパスワードを再入力していないためです。パスワードを再入力して、それが一致すれば、次のように表示されるはずです。 パスワードが一致しました。 . それでも一致しない場合は、次のようなメッセージが表示されます。 パスワードが一致しません .
私が抱えている問題は、最初にパスワードが一致したときに、メッセージが次のように変化しないことです。 パスワードが一致 のままです。 パスワードが一致しない .
一致させるためには、パスワードの入力に戻って、文字を追加または削除し、確認用パスワードにも同じことをしなければなりません。私のコードをコードスニペットに記載しましたので、私の説明をより良くご理解いただけると思います。
なぜこのようなことが起こるのか、ご存知の方はいらっしゃいますか?
var passConfirm = function() {
if (document.getElementById("Password").value ==
document.getElementById("ConfirmPassword").value) {
document.getElementById("Message").style.color = "Green";
document.getElementById("Message").innerHTML = "Passwords match!"
} else {
document.getElementById("Message").style.color = "Red";
document.getElementById("Message").innerHTML = "Passwords do NOT match!"
}
}
<div class="container">
<form class="form" onsubmit="validateForm(event)">
<div>
<label id="FullNameLabel">Full Name</label></br>
<input
type="text"
placeholder="John Doe"
id="FullName">
</input>
</div>
<div>
<label id="EmailLabel">Email</label></br>
<input
type="text"
placeholder="[email protected]"
id="Email">
</input>
</div>
<div>
<label id="PhoneNumberLabel">Phone Number</label></br>
<input
type="text"
placeholder="(123) 456-7890"
id="PhoneNumber">
</input>
</div>
<div>
<label id="PasswordLabel">Password</label></br>
<input
name="Password"
id="Password"
type="password"
placeholder="Password"
onkeyup='passConfirm();'>
</input>
</div>
<div>
<label id="ConfirmPswdLabel">Confirm Password</label></br>
<input
type="password"
placeholder="Confirm Password"
id="ConfirmPassword"></input>
</div>
<span id="Message"></span>
</form>
<button type="submit" value="submit">Sign Me Up!</button>
</div>
解決方法は?
問題なのは、あなたがまだ
onKeyUp
イベントが発生します。追加すると動作します。また
<input />
でなく
<input></input>
.
var passConfirm = function() {
if (document.getElementById("Password").value ==
document.getElementById("ConfirmPassword").value) {
document.getElementById("Message").style.color = "Green";
document.getElementById("Message").innerHTML = "Passwords match!"
} else {
document.getElementById("Message").style.color = "Red";
document.getElementById("Message").innerHTML = "Passwords do NOT match!"
}
}
<div class="container">
<form class="form" onsubmit="validateForm(event)">
<div>
<label id="FullNameLabel">Full Name</label></br>
<input type="text" placeholder="John Doe" id="FullName" />
</div>
<div>
<label id="EmailLabel">Email</label></br>
<input type="text" placeholder="[email protected]" id="Email" />
</div>
<div>
<label id="PhoneNumberLabel">Phone Number</label></br>
<input type="text" placeholder="(123) 456-7890" id="PhoneNumber" />
</div>
<div>
<label id="PasswordLabel">Password</label></br>
<input name="Password" id="Password" type="password" placeholder="Password" onkeyup='passConfirm();' />
</div>
<div>
<label id="ConfirmPswdLabel">Confirm Password</label></br>
<input type="password" placeholder="Confirm Password" id="ConfirmPassword" onkeyup='passConfirm();' />
</div>
<span id="Message"></span>
</form>
<button type="submit" value="submit">Sign Me Up!</button>
</div>
関連
-
[解決済み】JavaScriptのinnerHTMLで要素が更新されない
-
[解決済み】最大呼び出しスタックサイズ超過エラーとその修正方法とは?
-
[解決済み】コンソールがUnterminated JSX contentsエラーを投げる【終了しました
-
[解決済み】SyntaxError: ChromeのJavascriptコンソールでUnexpected Identifierが発生する。
-
[解決済み】Jestが予期しないトークンに遭遇した
-
[解決済み】PhantomJS 2.1.1を使用してReactJSアプリケーションをレンダリングできない理由とは?
-
[解決済み】Babel NodeJS ES6: SyntaxError: 予期しないトークンのエクスポート
-
[解決済み】 Uncaught Reference Error: stLight is not defined (in Chrome only)
-
[解決済み】'useState' が定義されていない no-undef React
-
[解決済み】Vueが定義されていない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jQueryで、ユーザーがそのフィールドを編集している間、テキストフィールドの最初の文字を大文字にするにはどうすればよいですか?
-
[解決済み】jquery $.ajaxオブジェクトのresponseJSONプロパティを取得する方法 [重複]。
-
[解決済み】JavaScript "Uncaught TypeError: object is not a function" 連想性の質問
-
[解決済み] テスト
-
[解決済み】WebpackとBabelで「このファイルタイプを扱うには適切なローダーが必要な場合があります。
-
[解決済み】JS ファイルが net::ERR_ABORTED 404 (Not Found) を取得する)
-
[解決済み】XMLパースエラー:ルート要素が見つからない コンソールの場所 FF
-
[解決済み】DOMException: サポートされているソースが見つからなかったため、読み込みに失敗しました。
-
[解決済み】Vueのテンプレートまたはレンダー関数が定義されていない 私はどちらも使っていないのですが?
-
[解決済み】 Uncaught Reference Error: stLight is not defined (in Chrome only)