我有两个输入,例如
pass: <input type="password" name="pass" required/> pass again: <input type="password" name="pass2" required/>
我想比较这些输入,如果匹配,将输入设置为有效.我试过这个,但是我认为那个道具(‘有效’,真实)不行:
$(document).ready(function() { $('input[name=pass2]').keyup(function() { if($('input[name=pass]').val() == $('input[name=pass2]').val()) { $('#pass_hint').empty(); $('#pass_hint').html('match'); $(this).prop('valid',true); } else { $('#pass_hint').empty(); $('#pass_hint').html('mismatch'); $(this).prop('invalid',true); } }); });
解决方法
在
HTMLInputElement interface,没有这样的有效或无效的财产.
您可以使用本机形式验证的setCustomValidity(error)
方法.
至于你的脚本:
$(document).ready(function() { $('input[name=pass2]').keyup(function () { 'use strict'; if ($('input[name=pass]').val() === $(this).val()) { $('#pass_hint').html('match'); $(this)[0].setCustomValidity(''); } else { $('#pass_hint').html('mismatch'); $(this)[0].setCustomValidity('Passwords must match'); } }); });
在HTML5投诉浏览器中查看jsFiddle.