带多行的HTML文本区域在Click和onBlur函数上换行
HTML Textarea With Multiple Lines Breaks onClick and onBlur Functions
我有一个文本区域,在其中放入一些默认文本。假设默认的文本区域文本是"在此处插入文本"
我使用JavaScriptonClick和onBlur函数来制作它,这样当用户点击带有"在此处插入文本"消息的文本区域时,该消息就会消失,并被空白所取代。如果文本区域为空,并且用户单击退出,则文本区域将再次显示"在此处插入文本"消息。这是我这个过程的代码:
<textarea onclick="if(this.value=='Insert Text Here.'){this.value=''}" onblur="if(this.value==''){this.value='Insert Text Here.'}">Insert Text Here.</textarea>
此代码运行良好。当"在此处插入文本"被替换为由多行组成的内容时,就会出现问题。例如:
<? $textarea = "Line 1'n'nLine 2"; ?>
<textarea onclick="if(this.value=='<? echo $textarea ?>'){this.value=''}" onblur="if(this.value==''){this.value=<? echo $textarea ?>'}"><? echo $textarea ?></textarea>
在这种情况下,onClick和onBlur命令被破坏,因为两个textarea标记之间的$textarea值与onClick方法和onBlur方法中使用的$textarea值之间存在不相等。两个标签之间$textarea的值为:
Line 1
Line 2
而onBlur和onClick方法中$textarea的值为:
Line 1'n'nLine 2
显然,这两者是不平等的。
我知道问题是什么,但我不知道如何解决。我曾尝试用其他选项替换,但问题归结为在标记之间进行处理,而在onBlur和onClick方法中没有注册为换行符。
有人对解决这个问题有什么想法吗?
谢谢!
为文本区域的标题指定相同的默认值
<?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>
这种方法有很多优点:
每次鼠标悬停在文本区域时,它都会显示INSERT TEXT HERE,这也是facebook使用的
相关文章:
- Fancybox是否将Click事件静音
- jQuery:.click(function(){(element),collapse('show',f
- Angular,表达式{{}}的结果没有插入到ng-click中
- 具有相同类的jquery-click元素
- Ng隐藏在Ng-click元素之外
- document.getElementById(“st”).click();不起作用
- Javascript-onblur函数无法更改文本框的值
- 无法使以下ng on click outside指令在同一页面上的两个元素上工作
- 将代码放入click函数时出现javascript问题
- 将参数中类似形式的ID传递给函数click()
- 如何在ng-click中传递php对象
- 如何将以下“.click”转换为切换
- AngularJs的ng-click$事件将子元素作为目标传递
- angularjs-bindng-click从jquery动态加载DOM
- jsplumb中的Click事件处理程序丢失“;这个“;对象
- jquery on click事件来显示内容
- Window.onblur-禁用iframe事件
- 如何在javascript中使用click函数选择数组元素
- 使用谷歌图表将mousedown事件注册为click
- 带多行的HTML文本区域在Click和onBlur函数上换行