菜鸟求助 JS 调试 “value”未定义 我该怎么写????

玫瑰花开一片一片 2018-05-09 09:55:47

<script>
window.onload=function(){
var acc=document.getElementById('abc');
acc.onfocus=function(){
if(value=='搜索'){
this.style.color='#000'; value=' ';
}
}
acc.onblur=function(){
if(value==' '){
this.style.color='#ccc'; value='搜索';
}
}

</script>



=============================html===========================


<div>

<input id="abc" type="text" value="搜索" />
</div>



我想调取value 使其颜色改变

IE调试 提示 “value”未定义 我该如何定义value 不知道该怎么写了
各位高手帮帮忙
...全文
973 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
直接用肯定不行啊,你至少得告诉程序,你指的是谁的value
usecf 2018-05-09
  • 打赏
  • 举报
回复
把value全部改成this.value 或者 acc.value
2018-05-09
  • 打赏
  • 举报
回复
把value全部改成this.value
风中的少年 2018-05-09
  • 打赏
  • 举报
回复
是没定义呀。

<div>
 <input id="abc" type="text" value="搜索"  />
</div>
<script>
var acc=document.getElementById('abc');
console.log(acc);
acc.onkeyup = function(a) {
  var value = this.value;
  alert(value)
}
</script>
风中的少年 2018-05-09
  • 打赏
  • 举报
回复
或用下面的取value值也是一样的。

<div>
 <input id="abc" type="text" value="搜索"  />
</div>
<script>
var acc=document.getElementById('abc');
console.log(acc);
acc.onkeyup = function(e) {
  var value = e.target.value;
  alert(value)
}
</script>
CSY_Admin 2018-05-09
  • 打赏
  • 举报
回复
js里的value是一个属性 你这里直接用 if(value=='搜索') 或者 if(value==' ')判断是不行的,因为没有用到确定的对象或元素,所以会报value未定义错误 可以加上this表示当前触发事件的对象,也就是acc,也就是id为abc的元素 解决方法: 用if(this.value=='搜索') 或者 if(acc.value==' ')
天际的海浪 2018-05-09
  • 打赏
  • 举报
回复

window.onload=function(){
        var acc=document.getElementById('abc');	
			acc.onfocus=function(){	
				if(this.value=='搜索'){
					this.style.color='#000'; this.value='';
				}
			}
			acc.onblur=function(){
				if(this.value==''){
					this.style.color='#ccc'; this.value='搜索';
				}
			}
}

87,990

社区成员

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

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