我是PHP开发人员,并且是jQuery的新手,我之前只写了几行代码,而这些都是来自在线资源。无论如何,我在html中有以下三个输入:

<input type="password" name="old-password" id="old-password">
<input type="password" name="new-password" id="new-password">
<input type="password" name="confirm-new-password" id="confirm-new-password">
<button type="submit" id="save" class="button button-primary">Save Changes</button>


我有一整页的设置,这三个字段用于输入密码,但是仅当用户在任何输入中输入任何数据时,我才希望将其设置为必填。

示例:一个用户键入旧密码输入,所有3个输入都需要实时输入。或者用户输入确认新密码输入,则还需要全部3个输入。

感谢您的帮助。

解决方案:答案都很好,谢谢大家的帮助。出现另一个问题是,如果有人尝试退格并删除表单上的文本,它仍然保持必需状态。在所有答案的帮助下,我想出了一个解决方案。

您必须将.password类添加到所有所需的输入中,然后将其放入脚本标签中:

    $('.password').on('keyup keydown keypress change paste', function() {
        if ($(this).val() == '') {
            $('#old-password').removeAttr('required', '');
            $('#new-password').removeAttr('required', '');
            $('#confirm-new-password').removeAttr('required', '');
        } else {
            $('#old-password').attr('required', '');
            $('#new-password').attr('required', '');
            $('#confirm-new-password').attr('required', '');
        }
    });

最佳答案

.attr()事件上使用oninput

即像这样的东西:

function makeRequired(){
    $("#old-password").attr("required","");
    $("#new-password").attr("required","");
    $("#confirm-new-password").attr("required","");
}


然后将其绑定到HTML或JS中的oninput

关于javascript - jQuery-检查所有字段是否为空的代码,然后将所有字段设置为必需,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36341846/

10-16 19:53