Javascript 带有多行分隔符onClick和onBlur函数的HTML文本区域
我有一个文本区域,我在其中放入一些默认文本。假设默认的文本区域文本是“在此处插入文本” 我使用JavaScript onClick和onBlur函数来实现这一点,这样当用户单击带有“inserttext Here.”消息的文本区域时,该消息将消失,并被一个空格取代。如果文本区域为空,用户单击退出,文本区域将再次显示“在此处插入文本”消息。以下是我的流程代码:Javascript 带有多行分隔符onClick和onBlur函数的HTML文本区域,javascript,html,onclick,textarea,onblur,Javascript,Html,Onclick,Textarea,Onblur,我有一个文本区域,我在其中放入一些默认文本。假设默认的文本区域文本是“在此处插入文本” 我使用JavaScript onClick和onBlur函数来实现这一点,这样当用户单击带有“inserttext Here.”消息的文本区域时,该消息将消失,并被一个空格取代。如果文本区域为空,用户单击退出,文本区域将再次显示“在此处插入文本”消息。以下是我的流程代码: <textarea onclick="if(this.value=='Insert Text Here.'){this.value=
<textarea onclick="if(this.value=='Insert Text Here.'){this.value=''}" onblur="if(this.value==''){this.value='Insert Text Here.'}">Insert Text Here.</textarea>
而onBlur和onClick方法中$textarea的值为:
Line 1\n\nLine 2
显然,这两者是不平等的
我知道问题是什么,但我不知道如何解决它。我尝试过用其他替代方法替换\n,但问题归结为\n在标记之间处理,而在onBlur和onClick方法中它没有注册为换行符
有人对解决这个问题有什么想法吗
谢谢 为textarea的标题提供相同的默认值
<?php $textarea = "Line 1\n\nLine 2"; ?>
<textarea onclick="if(this.value==this.title){this.value=''}" onblur="if(this.value==''){this.value=this.title}" title="<?php echo $textarea ?>"><?php echo $textarea ?></textarea>
非常感谢您的快速回复。我已经为这个问题咬牙切齿几个小时了,这是一个很好的解决方案。但是,此解决方案的跨浏览器兼容性如何?在IE中,我有一个内置的叫做“兼容性视图”的功能,它是为“为旧浏览器设计的网站”而设计的。虽然这在IE中非常有效,但当我打开“兼容性视图”时,它就不起作用了。下班回家后,我会在Safari、Chrome和FireFox上试用。您对该解决方案的浏览器兼容性了解多少?非常感谢你!好吧如果我删除\n,我应该用什么来替换它以创建换行符?我正在文本区域中输入一个示例字母。所以在信中,我会说:亲爱的约翰,希望你做得很好。正如您所看到的,换行符是必要的,以便正确地设置字母的格式。
Line 1\n\nLine 2
<?php $textarea = "Line 1\n\nLine 2"; ?>
<textarea onclick="if(this.value==this.title){this.value=''}" onblur="if(this.value==''){this.value=this.title}" title="<?php echo $textarea ?>"><?php echo $textarea ?></textarea>