如何为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=''
因为它将被插入的文本覆盖。