javascript - 怎么实现监听判断input.val()输入状态?
PHP中文网
PHP中文网 2017-04-11 10:45:56
[JavaScript讨论组]
PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(4)
伊谢尔伦

谢邀~

$('input[type=text]').on('keyup', function(){
    var val= $(this).val();
    console.log(val);
    if(val.length < 1) {
        $(".submit-btn").prop("disabled", true);
    }else {
        $(".submit-btn").prop("disabled", false);
    }
});

看了别人的回复, 我的第一感觉可能是题主没有描述清楚
$('input[type=text]')
$(".submit-btn")
应该是两个东西~
给我的第一感觉应该不是同一类元素

2.0:


$('input[type=text]').on('keyup', function(){
    var val= $(this).val();
    console.log(val);
    if(val.length < 1) {
        $(".submit-btn").prop("disabled", true);
    }else {
        var b = true;//is someone empty
        $('input[type=text]').each(fucntion(){
            if($(this).val() == ""){
               b = false;
            }
        });
        if(!b){
           $(".submit-btn").prop("disabled", false);
        }else{
           $(".submit-btn").prop("disabled", true);
        }
    }
});
怪我咯

这个问题好像有点怪异吧。

change事件触发事件必须满足条件:当前对象失去焦点(onblur)。 比如你用jquery操作改变,不会触发
keypress事件就是能监听键盘事件,鼠标复制黏贴操作解决不了
propertychange(ie)和input事件。这个感觉还是比较符合需求的,及时一点。
阿神

给了input禁用,一般是不允许用户填写,为什么还要给开放,再说,一旦给了disable,就不能填写了,不能填写了还怎么监听输入。。。

实在要这样的话,就在禁用input时,如果用户点击了这个input框,再去启用,然后用change事件监听,如果没有内容再禁用,光光监听input是不行的,禁用了还怎么输入。。。

PHP中文网

你这需求不就是当用户没有输入内容的时候,submit提交按钮禁用嘛。这样的需求处理逻辑有多种,常见的就是监听submit按钮的click事件,然后再验证输入内容,如果有空或者有输入错误,则打断默认方式,禁止提交。结合楼主的需求,用户输入为空,则禁用submit按钮("disabled", true),你可以这样做:submint按钮的默认样式是禁用的(disabled:true;),然后监听输入框的onblur事件(失去焦点),只要用户填写完一项后,再填写下一项,就触发onblur事件,然后马上验证上一项的内容是否为空,为空,则返回false,反之则相反。为空,submit按钮的样式不变,如果不为空,则动态修改disabled:false,解除禁用。不知道我的意思楼主可明白?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号