通过jquery问题在文本框中设置水印文本

时间:2014-05-29 11:56:23

标签: jquery

这样我设置文本框的水印,但是当我在文本框中键入任何内容并单击任何按钮时,我的打字文本就会消失,水印文本会再次在文本框中设置。

这是我的代码。请看看并告诉我我在哪里犯了错误

$(document).ready(function () {

var SearchTerm = $("input[id*='txtSearch']").val();
var watermark = 'Parts search in english';

//init, set watermark text and class
    if ($('[id*=txtSearch]').val().length == 0) {
        $('[id*=txtSearch]').val(watermark).addClass('watermark');
    }

    //if blur and no value inside, set watermark text and class again.
    $('[id*=txtSearch]').blur(function () {
        if ($(this).val().length == 0 || SearchTerm == '') {
            $(this).val(watermark).addClass('watermark');
        }
    });

    //if focus and text is watermrk, set it to empty and remove the watermark class
    $('[id*=txtSearch]').focus(function () {
        if ($(this).val() == watermark) {
            $(this).val('').removeClass('watermark');
        }
    });

    $('[id*=txtSearch]').keypress(function (event) {
        if (event.keyCode == 13) {
            event.preventDefault();
            $(".search-box :button").trigger('click');
        }
    });

});

我调试了这段代码

$('[id*=txtSearch]').blur(function () {
            if ($(this).val().length == 0 || SearchTerm == '') {
                $(this).val(watermark).addClass('watermark');
            }
        });

并看到$(this).val().length is always 0 and SearchTerm is blank。我正在用firefox测试。我的代码中是否有任何错误,如果是,然后突出显示该区域,并告诉我要纠正什么。感谢

1 个答案:

答案 0 :(得分:-1)

如果您尝试在文本框中为用户提供提示,则只需使用输入标记的占位符属性:

例如:

<input type="text" name="fname" placeholder="First name"><br>

enter image description here

更多信息:http://www.w3schools.com/tags/att_input_placeholder.asp