日期:2014-05-16  浏览次数:20417 次

关于点击文本框 文字消失的js问题
这个JS很简单,但是想知道怎么将这个JS拿到外部JS文件中去而不是直接放在首页
请大家帮忙看看,谢谢!
C# code
<input type="text" maxlength="100" name="schname" id="schname" autocomplete="off" class="input_text"  value="请输产品名称!" />

JScript code
<script language="JavaScript" type="text/javascript"> 
function addListener(element,e,fn){ 
   if(element.addEventListener){ 
   element.addEventListener(e,fn,false); 
   } else { 
   element.attachEvent("on" + e,fn); 
   } 
} 

var values = document.getElementById("schname"); 

addListener(values,"click",function(){ 
values.value = ""; 
})

addListener(values,"blur",function(){
if (values.value ==''){values.value = "请输产品名称!";}
}) 
</script>




------解决方案--------------------
这不就是Jquery的原始写法吗! 如果要脚本分离的话,那就建个JS

window.onload=function(){
function addListener(element,e,fn){ 
上面的JS拷贝进来
}
}

再在页面引入就行了,如果不要求脚本分离就直接 onclick onblur监听 写两函数
------解决方案--------------------
将script里面的内容复制到一个.js文件中
<script src="你的文件名"></script>替换掉你的script标签就行了

<html>
<head>
<script src="你的文件名"></script>
</head>
<body>
</body>
</html>
------解决方案--------------------
JScript code

addListener(values,"focus",function(){ 
if(values.value=="请输产品名称!")values.value = ""; 
}
//focus比click事件好

------解决方案--------------------
把下面的代码放在.js文件中
JScript code

    function addListener(element,e,fn){ 
       if(element.addEventListener){ 
       element.addEventListener(e,fn,false); 
       } else { 
       element.attachEvent("on" + e,fn); 
       } 
    } 

    var values = document.getElementById("schname"); 
        
        // 追加的判断....
    if ( values ) {
        addListener(values,"click",function(){ 
            values.value = ""; 
        })

        addListener(values,"blur",function(){
        if (values.value ==''){values.value = "请输产品名称!";}
        }) 
    }