新手刚刚接触js 麻烦大神给看看这段代码怎么了

阆苑仙葩 2013-12-08 11:59:46
下面的这一段代码中为什么用匿名函数的方式就能实现 而定义一个函数后再给添加onkeypress事件就会出现“尚未实现”错误呢。
小弟刚刚开始学习js,思考一上午,实在想不通 求大神解救!

//给每一个input添加输入格式监听
var userName = regForm.userName;

/*userName.onkeypress=function(){
if(!/^\w{2,16}$/.test(userName.value)){
userName.warningNode.style.display="inline";
userName.noticeNode.style.display="inline";
userName.focus();
return;
}else{
userName.warningNode.style.display="none";
userName.noticeNode.style.display="none";
}
}*/
userName.onkeypress=checkFormat(!/^\w{2,16}$/.test(userName.value),userName);

}
//检测输入的格式是否正确
function checkFormat(b,tagName){
if(b){
tagName.warningNode.style.display="inline";
tagName.noticeNode.style.display="inline";
tagName.focus();
return;
}else{
tagName.warningNode.style.display="none";
tagName.noticeNode.style.display="none";
}
}
...全文
261 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰糖-雪梨 2013-12-09
  • 打赏
  • 举报
回复
正则写到checkFormat里面验证 目前 //.test(username.value) ,找不到username吧
似梦飞花 2013-12-08
  • 打赏
  • 举报
回复
不明白你的意思
KK3K2005 2013-12-08
  • 打赏
  • 举报
回复
引用 5 楼 z243153426 的回复:
[quote=引用 2 楼 KK3K2005 的回复:] userName.onkeypress = alert('kk'); userName.onkeypress = function(){alert('kk')}; 你自己分别试下2者的区别 就明白了
太感谢了 虽然没有完全懂 还是懂了一些 我刚才把代码改成 userName.onkeypress=function(){checkFormat(!/^\w{2,16}$/.test(userName.value),userName); 就行了 那么实际开发中会遇到这种问题吗 如果会的话怎么解决呢 } [/quote] 只要最终结果是按我的需求跑的 那么就是对的 所以怎么解决问题 就是让他按你的意愿走 如果没按照你的意愿走 那么就是有问题 如果按照你的意愿就 还有问题 那么重新整理下需求 反复之后 必定是正确的结果
zhjdg 2013-12-08
  • 打赏
  • 举报
回复
function fn(){ } userName.onkeypress = fn; userName.onkeypress = fn();
阆苑仙葩 2013-12-08
  • 打赏
  • 举报
回复
引用 2 楼 KK3K2005 的回复:
userName.onkeypress = alert('kk'); userName.onkeypress = function(){alert('kk')}; 你自己分别试下2者的区别 就明白了
太感谢了 虽然没有完全懂 还是懂了一些 我刚才把代码改成 userName.onkeypress=function(){checkFormat(!/^\w{2,16}$/.test(userName.value),userName); 就行了 那么实际开发中会遇到这种问题吗 如果会的话怎么解决呢 }
阆苑仙葩 2013-12-08
  • 打赏
  • 举报
回复
引用 3 楼 u011461314 的回复:
靠,原来注释的代码是对的,没注释的是错的。我还想了半天,为什么没注释的是对的。
好吧 是我没写写清楚 我错了
zhjdg 2013-12-08
  • 打赏
  • 举报
回复
靠,原来注释的代码是对的,没注释的是错的。我还想了半天,为什么没注释的是对的。
KK3K2005 2013-12-08
  • 打赏
  • 举报
回复
userName.onkeypress = alert('kk'); userName.onkeypress = function(){alert('kk')}; 你自己分别试下2者的区别 就明白了

87,907

社区成员

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

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