关于JS失去焦点和点击事件的问题

hz_gis 2012-03-23 01:33:21
我有一个文本框。类似于这样
input type="text" id="mobileId" class="fed_input w_200"  onblur="doCheckMobile(this.value)"
onkeyup="javascript: var myreg=/^[+]?(([1-9]\d*?))(\d{0,2})?$/;if(!myreg.test(this.value)){this.value=''; }; "/>

另外有一个链接,类似这样
<a class="btnlink_b" href="#" id="btn_Next" onclick="javascript:Next()">
<span>确认以上信息,下一步</span></a>


是点击后校验页面的,其中有调用到文本框的doCheckMobile。
当我在文本框输入的时候。输错手机号码,表单无法提交。然后修改为正确的时候号码,点击链接提交。此时只触发了文本框的丢失焦点事件,而没有触发链接的click事件。需要再一次点击链接才能触发click事件。请问有什么办法能在第一次就触发click事件。
相关的JS如下:

function Next() {
result = doCheckMobile($("#mobileId").val());


if (result) {
//
}

return false;
} }
...全文
1212 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengzhexiabi 2014-10-13
  • 打赏
  • 举报
回复
我今天在弄项目的时候也遇到这个问题了,不知道该如何处理,你把这个问题给解决了吗?
lnn2007 2012-05-02
  • 打赏
  • 举报
回复
试试取消浏览器的默认操作,网上查查试试
p2227 2012-03-24
  • 打赏
  • 举报
回复
楼主能不能先发一份完整的,放在一起的HTML代码
loveairsupply 2012-03-24
  • 打赏
  • 举报
回复
onblur和onmouseout好像会冲突的
wzhiyuan 2012-03-23
  • 打赏
  • 举报
回复
楼主说反了吧,onblur验证成功,应该是触发click的

验证不成功时直接点链接,如果doCheckMobile里有 alert 之类的事,由于焦点转移了,onclick倒不会触发
hz_gis 2012-03-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 softkexin 的回复:]
确实比较奇怪,能不能文本框不用blur了,放到Next方法中一起验证!
[/Quote]貌似不行,失去焦点要求校验啊。。
IT-Style 2012-03-23
  • 打赏
  • 举报
回复
确实比较奇怪,能不能文本框不用blur了,放到Next方法中一起验证!
hz_gis 2012-03-23
  • 打赏
  • 举报
回复
把onblur 改成mouseout是OK的,但是用户体验太那啥了。
hz_gis 2012-03-23
  • 打赏
  • 举报
回复
1楼大概没明白我的意思。。
这个问题比较难描述。也就是说我点链接的时候,只执行了文本框的丢失焦点事件,而没有去执行自身的点击事件。也就是说根本没有执行Next();
hanson339751607 2012-03-23
  • 打赏
  • 举报
回复
如下修改即可:


function Next() {
result = doCheckMobile($("#mobileId").val());


if (result) {
//
写表单提交的代码
}

return false;
} }


87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧