0
私は単純なif文を書いて、各入力ボックスのパスワードが一致するかどうかをテストします。両方が一致する場合はエラーはなく、一致しない場合は.setCustomValidity()を使用して「一致しません」というエラーが表示されます。私が抱えている問題は、エラーが与えられた後、パスワードが一致するように修正されたときで、エラーはまだ出ています。私は何が間違っているのか分かりません。以下は私のコードと実際のJSfiddleへのリンクです。issue with setCustomValidity
JSfiddle:https://jsfiddle.net/1934foej/
HTML:
<label>
<input id="first" type="text" min="16" max="100" placeholder="New password" autofocus required>
</label>
<label>
<input id="second" type="text" min="16" max="100" placeholder="Repeat password" required>
</label>
<input id="submit" type="submit">
JS:
var firstPasswordInput = document.querySelector('#first');
var secondPasswordInput = document.querySelector('#second');
var submit = document.querySelector('#submit');
submit.onclick = function() {
var firstPassword = firstPasswordInput;
var secondPassword = secondPasswordInput;
//checks for match
if(firstPassword.value !== secondPassword.value) {
firstPasswordInput.setCustomValidity("they do not match");
}
}
@ImranAli演算子に誤字がないので、 '!=='は有効なjs等価演算子です。 – ali404