douyongliang_2008 2015-11-19 03:39 采纳率: 0%
浏览 3471

jquery验证文本框不为空,失去焦点事件怎么只能执行一次

var name = $("input[name='name']");
var nameval = name.val();
var nameinfo = $("#nameinfo");
name.on('blur',function(){
if($.trim(nameval) == ''){
nameinfo.show();
}else{
nameinfo.hide();
}
});

  • 写回答

1条回答 默认 最新

  • weixin_32773751 2015-11-19 05:34
    关注

    因为你的定义的nameval只赋过一次值,就是开始的时候文本框没有任何输入时,将文本框里的值赋过去了,这时候nameval的值为空,之后每次blur触发事件,nameval都是最开始的值,应该在事件里重新获取文本框的值,并判断这个值是否为空,来验证是否有输入

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题