首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将输入设置为无效

将输入设置为无效
EN

Stack Overflow用户
提问于 2013-08-08 22:37:50
回答 1查看 75.3K关注 0票数 35

我有两个输入,例如

代码语言:javascript
复制
pass:       <input type="password" name="pass" required/>
pass again:  <input type="password" name="pass2" required/>

我想要比较这些输入,如果它们匹配,则将输入设置为有效。我试过了,但我认为prop('valid', true);不起作用:

代码语言:javascript
复制
$(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);
        }
    });
});

我创建了一个注册表,如果密码不同,输入字段是无效的,我不能提交这个并给我一些提示。...and我不知道如何将此输入设置为无效

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-08 22:58:23

HTMLInputElement interface中,没有validinvalid这样的属性。

您可以将setCustomValidity(error)方法与本机表单验证一起使用。

至于您的脚本,这里有一个应该可以在所有兼容HTML5的浏览器中运行的演示:

代码语言:javascript
复制
$('input[name=pass2]').keyup(function () {
    'use strict';

    if ($('input[name=pass]').val() === $(this).val()) {
        $('#pass_hint').html('match');
        this.setCustomValidity('');
    } else {
        $('#pass_hint').html('mismatch');
        this.setCustomValidity('Passwords must match');
    }
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action='#'>
    <p>Password:
        <input name=pass type=password required>
    </p>
    <p>Verify:
        <input name=pass2 type=password required>
    </p>
    <p id=pass_hint></p>
    <button type=submit>Submit</button>
</form>

票数 45
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18128882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档