扫码关注官方订阅号
认证高级PHP讲师
谢邀~
$('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")应该是两个东西~给我的第一感觉应该不是同一类元素
$('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是不行的,禁用了还怎么输入。。。
你这需求不就是当用户没有输入内容的时候,submit提交按钮禁用嘛。这样的需求处理逻辑有多种,常见的就是监听submit按钮的click事件,然后再验证输入内容,如果有空或者有输入错误,则打断默认方式,禁止提交。结合楼主的需求,用户输入为空,则禁用submit按钮("disabled", true),你可以这样做:submint按钮的默认样式是禁用的(disabled:true;),然后监听输入框的onblur事件(失去焦点),只要用户填写完一项后,再填写下一项,就触发onblur事件,然后马上验证上一项的内容是否为空,为空,则返回false,反之则相反。为空,submit按钮的样式不变,如果不为空,则动态修改disabled:false,解除禁用。不知道我的意思楼主可明白?
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
谢邀~
看了别人的回复, 我的第一感觉可能是题主没有描述清楚
$('input[type=text]')$(".submit-btn")应该是两个东西~
给我的第一感觉应该不是同一类元素
2.0:
这个问题好像有点怪异吧。
给了input禁用,一般是不允许用户填写,为什么还要给开放,再说,一旦给了disable,就不能填写了,不能填写了还怎么监听输入。。。
实在要这样的话,就在禁用input时,如果用户点击了这个input框,再去启用,然后用change事件监听,如果没有内容再禁用,光光监听input是不行的,禁用了还怎么输入。。。
你这需求不就是当用户没有输入内容的时候,submit提交按钮禁用嘛。这样的需求处理逻辑有多种,常见的就是监听submit按钮的click事件,然后再验证输入内容,如果有空或者有输入错误,则打断默认方式,禁止提交。结合楼主的需求,用户输入为空,则禁用submit按钮("disabled", true),你可以这样做:submint按钮的默认样式是禁用的(disabled:true;),然后监听输入框的onblur事件(失去焦点),只要用户填写完一项后,再填写下一项,就触发onblur事件,然后马上验证上一项的内容是否为空,为空,则返回false,反之则相反。为空,submit按钮的样式不变,如果不为空,则动态修改disabled:false,解除禁用。不知道我的意思楼主可明白?