Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有多行分隔符onClick和onBlur函数的HTML文本区域_Javascript_Html_Onclick_Textarea_Onblur - Fatal编程技术网

Javascript 带有多行分隔符onClick和onBlur函数的HTML文本区域

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=

我有一个文本区域,我在其中放入一些默认文本。假设默认的文本区域文本是“在此处插入文本”

我使用JavaScript onClick和onBlur函数来实现这一点,这样当用户单击带有“inserttext Here.”消息的文本区域时,该消息将消失,并被一个空格取代。如果文本区域为空,用户单击退出,文本区域将再次显示“在此处插入文本”消息。以下是我的流程代码:

<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>