小编kin*_*ine的帖子

HTML5/JS/jQuery:在无效输入时,将另一个(任意)元素标记为无效

我正在尝试创建其中一个标准的新密码表单,您可以在其中键入一次新密码,然后再次确认.我希望这样,一旦你模糊了这些字段,如果它们不匹配,两者都将被标记为无效,如下面的场景:

  1. 用户输入密码abc进入#newpassword1.
  2. 用户标签到#newpassword2.
  3. 用户输入密码def进入#newpassword2.
  4. 用户标签了.
  5. 验证检测不匹配,标志着双方#newpassword1 #newpassword2为无效.

我知道我可以通过使用将事件的目标标记为无效e.target.setCustomValidity(...),但我不能很好地理解JavaScript的事件模型,并且无法根据事件目标自身的无效性来弄清楚如何将不同的元素标记为无效.

这是我尝试使用的(非工作)代码的相关摘录:

if ( $('#newpassword1').val() != $('#newpassword2').val() ) {
    errorMessage = "The new passwords you've entered don't match.";

    $('#newpassword1, #newpassword2').setCustomValidity(errorMessage);
}
Run Code Online (Sandbox Code Playgroud)

这似乎应该直观地工作,但当然不是.错误很简单TypeError: $(...).setCustomValidity is not a function.

请注意:我不是要求如何在字段中添加红色环或其他任何内容,我希望它实际上无效的(例如,将其validity.valid属性返回false).

是否有可能做到这一点?

谢谢!

javascript validation jquery html5

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

html5 ×1

javascript ×1

jquery ×1

validation ×1