2011-09-12 42 views
0

我是一个JavaScript的新手,所以我现在道歉,如果答案是明显的东西。我的问题是,在关注给定的textarea时,我希望清除它的内容并将单独div的显示值从'none'更改为'block'。单独做这些事情不是问题。Javascript onfocus事件处理程序将只允许我执行一个函数

清除内容:

onfocus="if (this.value == 'Update your status') {this.value = '';}" 

和改变单独div的显示属性:

onfocus="displayControls();" 
<script type="text/javascript"> 
      function displayControls() { 
       if (document.getElementById('statusUpdaterControls').style.display == "none") { 
        document.getElementById('statusUpdaterControls').style.display = "block"; 
       }; 
      }; 
</script> 

当我又试图将两者结合起来,无论是在textarea的onfocus事件,或在上面的displayControls()函数中是这样的:

<script type="text/javascript"> 
       function displayControls() { 
        if (document.getElementById('statusUpdater').value == 'Update your status') { 
         document.getElementById('statusUpdater').value = ''; 
        }; 
        if (document.getElementById('statusUpdaterControls').style.display == "none") { 
         document.getElementById('statusUpdaterControls').style.display = "block"; 
        }; 
       }; 
      </script> 

突然既不soluti在作品...任何帮助将不胜感激。

编辑: 我已经找到了解决方案 - 通过将清晰的内容代码到一个onclick事件,并保持它们分开,这两个项目都进行。尽管如此,我仍然很欣赏我对之前做错的任何了解,因为我一直在做一些愚蠢的事情,我可以改进未来。提前致谢。

+2

使用jQuery,并再次享受生活。 – BNL

+1

@BNL您不需要推土机即可打开前门。 – Zirak

+0

if语句后不需要分号。 – NebulaFox

回答

0

onfocus接受函数,而不是一个字符串,那么:

something.onfocus = displayControls; 
+0

对不起,也许我不清楚。我使用的onfocus标签在textarea标签内:都可以正常工作。问题在于串联使用它们。 – SeanCAtkinson

相关问题