Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

个人中心更新资料一个js错误问题

[复制链接]
河自清 发表于 2012-7-26 22:54:31 | 显示全部楼层 |阅读模式
本帖最后由 河自清 于 2012-7-26 23:00 编辑


个人中心更新个人资料时候,如果资料格式错误,则会包这个错误。
Uncaught TypeError: Cannot call method 'focus' of null

跟踪代码发现当格式验证不通过触发js 函数:
  1. function show_error(fieldid, extrainfo) {
  2. var elem = $('th_'+fieldid);
  3. if(elem) {
  4. elem.className = "rq";
  5. fieldname = elem.innerHTML;
  6. extrainfo = (typeof extrainfo == "string") ? extrainfo : "";
  7. $('showerror_'+fieldid).innerHTML = "请检查该资料项 " + extrainfo;
  8. <font color="#ff0000">$(fieldid).focus();</font>
  9. }
  10. }
复制代码
$(fieldid)没有取到节点故产生错误。(表单并没有获取焦点)

解决方案:

方案一、
   
为每个表单添加 id属性,属性值与 name值相同,这样$便能取到节点

方案二:
改写show_error() 函数即:

function show_error(fieldid, extrainfo) {
var elem = $('th_'+fieldid);
if(elem) {
elem.className = "rq";
fieldname = elem.innerHTML;
extrainfo = (typeof extrainfo == "string") ? extrainfo : "";
$('showerror_'+fieldid).innerHTML = "请检查该资料项 " + extrainfo;
///$(fieldid).focus();
document.getElementsByName(fieldid)[0].focus();//修改这一行
}
}



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
m.king 发表于 2012-7-27 10:38:17 | 显示全部楼层
该问题我们再核查下,感谢您的反馈!
回复

使用道具 举报

hangtian 发表于 2012-8-8 17:46:27 | 显示全部楼层
我的2.0刚刚升级到2.5也发现有这个问题.
回复

使用道具 举报

hangtian 发表于 2012-8-8 17:48:57 | 显示全部楼层
请检查该资料项 (含有敏感词汇)
签名就一个图片,其他啥都没有的,怎么会有这样的提示.签名图片就是换不了.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-2-27 07:34 , Processed in 0.024565 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表