我使用以下脚本将默认值添加到输入文本框:
$('.default-value').each(function() {
var default_value = this.value;
$(this).css('color', '#746F66'); // this could be in the style sheet instead
$(this).focus(function() {
if(this.value == default_value) {
this.value = '';
$(this).css('color', 'black');
}
});
$(this).blur(function() {
if(this.value == '') {
$(this).css('color', '#746F66');
this.value = default_value;
}
});
});
使用以下表格:
<form method="post" action="contactengine.php">
<input type="textbox" class="default-value" name="Name" id="Name" value="Full Name">
<input type="textbox" class="default-value" name="Email" id="Email" value="Email">
<textarea name="Message" class="default-value" name="Message" id="Message" value="Your message"></textarea>
<input type="submit" name="submit" id="submit" value="Submit" class="submit-button" />
</form>
默认值适用于文本框,但我无法弄清楚如何将默认值输入textarea。目前在textarea中没有任何内容出现,正如您可以看到here。
有人可以帮忙吗?
谢谢,
尼克
答案 0 :(得分:2)
尝试更改此行:
var default_value = this.value;
要:
var default_value = $(this).val();
这是因为textarea
没有value
属性,要为此元素指定默认文本,将文本放在元素的开始和结束标记之间,就像这样:
<textarea name="Message" class="default-value" name="Message" id="Message">Your message.</textarea>
<小时/> 在Chromium 12 / Ubuntu 11.04中进行测试后,已编辑,发现就JavaScript而言(至少对于此浏览器/平台而言)
var default_value = this.value;
可以分配default_value
正确。