我想为我的html设置默认值<textarea>
。我从材料中读到,要添加默认值,您必须执行<textarea>This is default text</textarea>
。我做到了,但是没有用。正确的做法是什么?
我想为我的html设置默认值<textarea>
。我从材料中读到,要添加默认值,您必须执行<textarea>This is default text</textarea>
。我做到了,但是没有用。正确的做法是什么?
Answers:
您可以使用placeholder Attribute,它不添加默认值,但可能是您要查找的内容:
<textarea placeholder="this text will show in the textarea"></textarea>
在这里查看-http://jsfiddle.net/8DzCE/949/
重要说明(如乔恩·布拉夫在评论中建议的那样):
占位符属性未设置文本区域的值。而是“占位符属性表示一个简短的提示(单词或短语),旨在在控件没有值时帮助用户进行数据输入” [[当用户单击文本区域时,它就会消失]。它永远不会充当控件的“默认值”。如果需要的话,必须将所需的文本放到此处。这是实际的默认值,如此处其他答案所示
placeholder
不设置值的textarea
。而是“占位符属性表示一个简短的提示(单词或短语),旨在在控件没有值时帮助用户进行数据输入” [[当用户单击文本区域时,它就会消失]。它永远不会充当控件的“默认值”。如果需要,您必须将所需的文本放在中<textarea>Here is the actual default value</textarea>
,如此处其他答案所示。
以防万一,如果您在项目中使用Angular.js(就像我一样)并ng-model
为您<textarea>
设置,请在内部设置默认值,例如:
<textarea ng-model='foo'>Some default value</textarea>
...不管用!
您需要将默认值设置ng-model
为相应控制器中的textarea 或使用ng-init
。
示例1(使用ng-init
):
示例2(不使用ng-init
):
一些注意事项和说明:
placeholder=''
会插入您的文本,但是该文本显示为灰色(以工具提示样式格式),并且在单击该字段时,您的文本将被替换为空的文本字段。
value=''
不是<textarea>
属性,并且仅适用于<input>
标记(<input type='text'>
例如)等。我不知道为什么HTML5的创建者决定不合并该属性,但这就是现在的方式。
<textarea>
此处已正确概述了将文本插入元素的最佳方法:<textarea> Desired text to be inserted into the field upon page load </textarea>
当用户单击字段时,他们可以编辑文本并将其保留在字段中(不同于placeholder=''
)。
<textarea>
和</textarea>
标记之间插入文本,则无法使用placeholder=''
,因为它将被插入的文本覆盖。当我做这样的事情对我有用:
<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 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进行了更改,则在渲染之后;您将获得更新的值,而不是初始化的值。
<!doctype html>
<html lang="en">
<head>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script>
$(function () {
$('#btnShow').click(function () {
alert('text:' + $('#addressFieldName').text() + '\n value:' + $('#addressFieldName').val());
});
});
function updateAddress() {
$('#addressFieldName').val('District: Peshawar \n');
}
</script>
</head>
<body>
<?php
$address = "School: GCMHSS NO.1\nTehsil: ,\nDistrict: Haripur";
?>
<textarea id="addressFieldName" rows="4" cols="40" tabindex="5" ><?php echo $address; ?></textarea>
<?php echo '<script type="text/javascript">updateAddress();</script>'; ?>
<input type="button" id="btnShow" value='show' />
</body>
</html>
如您所见,textarea的值将与关注textarea的开始标记和结束标记之间的文本不同。
您还可以添加“值”属性并进行设置,如下所示:
<textarea value="your value"> </textarea>