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

初学者,这段代码是哪的错误

初学者,这段代码是哪的错误

成长前端初学者 2017-12-11 23:01:29
<label for="">账号</label><input type="text" style="color: #999;" value="请输入您的账号" class="account" maxlength="11" onBlur="textBlur(this)" onFocus="textFocus(this)" /> <span class="error error5"></span>window.onload=function(){// 文本框默认文字  function  textFocus(el){  if(el.defaultValue == el.value){  el.value == " ";  el.style.color="#333";  }  }   function  textBlur(el){  if(el.value == ""){  el.value == el.defaultValue;  el.style.color="#999";  }  }  }提示错误textFocus没定义
查看完整描述

3 回答

已采纳
?
辉光

TA贡献3条经验 获得超0个赞

仅从提供的代码有两处严重错误:

1、javascript代码未放在<script></script>中;

2、放在window.onload = function(){},应是在装入页面后要运行的代码。你代码是两个function,且未赋值给其他变量,函数作用域在内有效。所以运行时找不到代码的。建议将两function放在外部。

其它:function中的代码的处理也有问题,需自行修改。整体样式如下:

<script type="text/javascript">
  	//文本框默认文字
	function  textFocus(el){
		if(el.defaultValue == el.value){
			el.value == " ";
			el.style.color="#333";
		}
	} 
	function  textBlur(el){
		if(el.value == ""){
			el.value == el.defaultValue;
			el.style.color="#999";
		}
	}
</script>


查看完整回答
反对 回复 2017-12-12
?
kevinZee

TA贡献50条经验 获得超39个赞

因为textFocus相当于一个局部变量,存在于window的onload的事件函数里,外部不能访问。


查看完整回答
反对 回复 2017-12-11
  • 成长前端初学者
    成长前端初学者
    那应该怎么改呢
  • kevinZee
    kevinZee
    有几种方法:1.把函数放在onload事件外,变成全局变量 2.手动把这个函数暴露在window全局对象上,window.textFocus = functio(){} 3.最常用最推荐的,就是js代码和html分离,在js里给这个dom元素绑定事件,这部分内容很多,你可以百度一下教程
  • 成长前端初学者
    成长前端初学者
    谢谢了!
?
成长前端初学者

TA贡献10条经验 获得超3个赞

是单独的一个文件

查看完整回答
反对 回复 2017-12-11
  • 3 回答
  • 0 关注
  • 2030 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信