为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这段代码中文本框的聚焦和失焦事件无法执行。而密码框的可以?

为什么这段代码中文本框的聚焦和失焦事件无法执行。而密码框的可以?

玉鸯子 2016-09-16 15:44:31
<!DOCTYPE HTML><html><head><meta charset="UTF-8"><title>练习</title><script>//验证文本框中是否输入内容。 function amy(){ var a=document.getElementById("input1").value; if(a=="请输入你的用户名"&&a==""){             //a等于字符串"请输入你的用户名"和""时。 var mya=confirm("你未输入用户名,是否输入"); if(mya==true){ var myb=prompt("请输入你的用户名"); if(myb!=请输入你的用户名&&myb!=null){ document.getElementById("input1").value=myb; } } else{ alert("你未输入用户名。"); } } return a;//返回a值 } //将文本框存在内容时,将文本清空。 function myFunction(){ if(a!=""){ a.document.innerHTML = null; } } //验证密码框是否输入密码。 function bmy(){ var b=document.getElementById("input2").value; if(b==""){ var myc=confirm("你未输入密码,是否输入?"); if(myc==true){ var myd=prompt("输入密码"); if(myd!=""){ document.getElementById("input2").value=myd; } else{ alert("你未输入密码"); } } else{ alert("谢谢,期待你的下次输入"); } } }</script></head><body> <form> <input type="text" value="请输入你的用户名" id="input1" onfocus="myFunction()" onblur="amy()"> <br /> <input type="password" id="input2" onblur="bmy()"> <br /> <input type="button" value="按钮" id="input3" > </form></body></html>
查看完整描述

1 回答

已采纳
?
摩诃迦叶

TA贡献146条经验 获得超54个赞


因为你myFunction方法中找不到 a。   你的a是在amy方法中声明的,myFunction怎么可能知道a是什么。 知识点:局部变量,全局变量

查看完整回答
反对 回复 2016-09-16
  • 玉鸯子
    玉鸯子
    不行啊。我将myFunction中的a改成了A。并定义var A=document.getElementById("input1").value;还是没用。而且失焦事件我已经找到问题:(a=="请输入你的用户名"&&a=="")应为(a=="请输入你的用户名"||a=="")。但是又出现prompt中输入的内容无法传给文本框。
  • 摩诃迦叶
    摩诃迦叶
    A.document.innerHTML = null; 你是这样写的吧? 改成 A.innerHTML="";
  • 玉鸯子
    玉鸯子
    依然不行。 我看了下这里的。跟我的问题差不多。但解决方法我没有看懂。
点击展开后面7
  • 1 回答
  • 0 关注
  • 1546 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号