【问题标题】:Adding default value to text box向文本框添加默认值
【发布时间】:2011-10-03 04:51:50
【问题描述】:

我正在使用以下脚本向输入文本框添加默认值:

$('.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 中没有显示任何内容,如您所见 here

有人可以帮忙吗?

谢谢,

尼克

【问题讨论】:

    标签: javascript jquery forms textarea default-value


    【解决方案1】:

    尝试更改此行:

    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/Ubuntu 11.04 中测试后发现,就 JavaScript 而言(至少对于此浏览器/平台而言)var default_value = this.value; 可以正确分配 default_value

    JS Fiddle demo.

    【讨论】:

    • textarea 也有一个值属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多