如何为html <textarea>添加默认值?

我想为我的html <textarea>设置一个默认值。 我从一个材料中读取默认值,你必须做一些像<textarea>This is default text</textarea> 。 我这样做,但它不工作。 什么是正确的事情?

这是我的jsFiddle例子。 这工作正常:

 <textarea name='awesome'>Default value</textarea> 

您可以使用占位符 属性 ,它不会添加默认值,但可能是您正在寻找的内容:

 <textarea placeholder="this text will show in the textarea"></textarea> 

看看这里 – http://jsfiddle.net/8DzCE/949/ 在这里输入图像描述

重要提示 (正如Jon Brave在评论中所build议的那样)

占位符属性不设置textarea的值。 而是“占位符属性代表一个简短的提示(一个字或短语),旨在帮助用户input数据,当控件没有任何价值”[并且只要用户点击到文本区域就会消失]。 它永远不会成为控制的“默认值”。 如果你想要的话,你必须把所需的文本里面这里是实际的默认值,在这里作为其他答案

如果要将数据库中的信息带入textarea标签进行编辑:input标签不要显示占用几行的数据: 不行,标签input是一行。

 <!--input class="article-input" id="article-input" type="text" rows="5" value="{{article}}" /--> 

textarea标记没有任何价值 ,但工作正常

 <textarea class="article-input" id="article-input" type="text" rows="9" >{{article}}</textarea> 

以防万一,如果你在你的项目中使用Angular.js ,并为你的<textarea>设置了一个ng-model ,那么就像下面这样设置默认值:

 <textarea ng-model='foo'>Some default value</textarea> 

…不pipe用!

您需要在相应的控制器中将默认值设置为textarea的ng-model ,或使用ng-init

例1(使用ng-init ):

 var myApp = angular.module('myApp',[]); myApp.controller('MyCtrl', [ '$scope', function($scope){ // your controller implementation here }]); 
 <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script> <meta charset="utf-8"> <title>JS Bin</title> </head> <body ng-app='myApp'> <div ng-controller="MyCtrl"> <textarea ng-init='foo="Some default value"' ng-model='foo'></textarea> </div> </body> </html> 

当我做这样的事情,它已经为我工作:

 <textarea name="test" rows="4" cols="6">My Text</textarea> 

此外,这对我来说工作得非常好:

 <textarea class="form-control" rows="3" name="msg" placeholder="Your message here." onfocus='this.select()'> <?php if (isset($_POST['encode'])) { echo htmlspecialchars($_POST['msg']);} ?> </textarea> 

在这种情况下,$ _POST ['encode']来自这个:

 <input class="input_bottom btn btn-default" type="submit" name="encode" value="Encode"> 

PHP代码被插入到和标签之间。

占位符不能设置文本区域的默认值。 您可以使用

 <textarea><?php /*Enter echo $variable here to display content ;?></textarea> 

这是标签,如果你使用它进行数据库连接。 如果您使用的不是PHP以外的其他语言,则可以使用不同的语法。

例如:

 <textarea rows="10" cols="55" name="description" required><?php echo $description; ?></textarea> 

所需的命令最大限度地减less了使用php检查空字段所需的工作

一些笔记和澄清:

  • placeholder=''插入您的文本,但它是灰色的(以工具提示样式格式),当字段被点击时,您的文本被replace为空的文本字段。

  • value=''不是<textarea>属性,只适用于<input>标签,也就是<input type='text'>等等。我不知道为什么HTML5的创build者决定不把它纳入,但现在就是这样。

  • <textarea>元素中插入文本的最佳方法在这里被正确地概括为: <textarea> Desired text to be inserted into the field upon page load </textarea>当用户单击字段时,他们可以编辑文本仍然在现场(不像placeholder='' )。

  • 注意:如果在<textarea></textarea>标记之间插入文本,则不能使用placeholder=''因为它将被插入的文本覆盖。