我使用以下脚本将默认值添加到输入文本框中:
$('.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>默认值适用于文本框,但我不知道如何将默认值放入文本区域。目前,文本区域中没有显示任何内容,正如您所看到的here。
有人能帮个忙吗?
谢谢,
尼克
发布于 2011-07-12 06:32:16
尝试更改此行:
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>JS Fiddle demo。
在Chromium 12/Ubuntu11.04中测试后编辑了,发现就JavaScript而言(至少对于这个浏览器/平台),var default_value = this.value;可以正确地分配default_value。
JS Fiddle demo。
https://stackoverflow.com/questions/6657471
复制相似问题