我想为我的html <textarea>设置一个默认值。我从材料中读到,要添加默认值,你必须做一些事情,如<textarea>这是默认文本</textarea>。我试过了,但没用。正确的做法是什么?
当前回答
以防万一,如果你在你的项目中使用Angular.js(就像我一样),并为你的<textarea>设置了ng-model,在里面设置默认值如下:
<textarea ng-model='foo'>Some default value</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>
例2(不使用ng-init):
var myApp = angsnake .模块(“myApp”); myApp。控制器(“MyCtrl”,[“$scope”,function($scope) 美元的范围。foo =一些默认值; }); < !DOCTYPE html > < > html < head > <剧本剧本src = " https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js " > < / > <元charset = utf-8”> <片名本< - > JS头衔> < / head > <车身ng-app =“myApp > < div ng-controller = MyCtrl”> < textarea ng-model =“foo”> < / textarea > < / div > < / body > < / html >
其他回答
占位符不能为文本区域设置默认值。你可以使用
<textarea rows="10" cols="55" name="description"> /*Enter default value here to display content</textarea>
如果您将它用于数据库连接,则它是标记。如果使用php以外的其他语言,则可以使用不同的语法。对于php:
例如:
<textarea rows="10" cols="55" name="description" required><?php echo $description; ?></textarea>
Required命令最大限度地减少了使用php检查空字段所需的工作。
你可以使用占位符属性,它不添加默认值,但可能是你正在寻找的:
<textarea placeholder="this text will show in the textarea"></textarea>
点击这里查看- http://jsfiddle.net/8DzCE/949/
重要提示(Jon Brave在评论中建议):
占位符属性不设置文本区域的值。相反,“占位符属性代表了一个简短的提示(一个单词或短语),旨在帮助用户在控件没有值时输入数据”[并且一旦用户单击进入文本区域,它就会消失]。它永远不会作为控件的“默认值”。如果你想这样做,你必须把想要的文本放在这里是实际的默认值,就像这里的其他答案一样
以防万一,如果你在你的项目中使用Angular.js(就像我一样),并为你的<textarea>设置了ng-model,在里面设置默认值如下:
<textarea ng-model='foo'>Some default value</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>
例2(不使用ng-init):
var myApp = angsnake .模块(“myApp”); myApp。控制器(“MyCtrl”,[“$scope”,function($scope) 美元的范围。foo =一些默认值; }); < !DOCTYPE html > < > html < head > <剧本剧本src = " https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js " > < / > <元charset = utf-8”> <片名本< - > JS头衔> < / head > <车身ng-app =“myApp > < div ng-controller = MyCtrl”> < textarea ng-model =“foo”> < / textarea > < / div > < / body > < / html >
你可以使用this.innerHTML。
<textarea name="message" rows =" 10" cols =" 100" onfocus="this。innerHTML= " ">在这里输入您的消息…textarea > < /
当文本区域被聚焦时,它基本上会使文本区域的innerHTML成为空字符串。
同样,这对我来说也很有效:
<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代码被插入到和标记之间。