Jquery在提交时从文本框中删除默认文本

时间:2012-05-03 19:28:19

标签: jquery

     $('input[class*="defaulttext"]').each(function () {

                    this.value = $(this).attr('title');
                    $(this).addClass('defaultclass');

                    $(this).focus(function () {
                        if (this.value == $(this).attr('title')) {
                            this.value = '';
                            $(this).removeClass('defaultclass');
                        }
                    });

                    $(this).blur(function () {
                    if (this.value == '') {
                        this.value = $(this).attr('title');
                        $(this).addClass('defaultclass');
                    }
                });


                });

这基本上为文本框添加了背景文本效果(使用标题)。一旦被选中,文字就会消失。

现在,我对可选字段有疑问。如果用户不编辑这些字段,则会使用表单提交默认背景文本。所以我需要在提交表单后重置未编辑字段的值。任何想法如何做到这一点?

也许在表单提交上,检查title = value?如果是,则设置为''。

4 个答案:

答案 0 :(得分:1)

我们使用了HTML5 Placeholder jQuery Plugin,在这种情况下效果很好。

答案 1 :(得分:1)

根据您的代码,您可以:

$("#yourForm").submit(function () {
     $('input[class*="defaulttext"]').val("");
};

答案 2 :(得分:0)

您可以这样做,并检查title = value的值。或者,您也可以使用jQuery.data()

标记已修改的字段

答案 3 :(得分:0)

$("#yourForm").submit(function () {
    $('input.defaulttext').each(function() {
        if($(this).val() === $(this).attr('title')) { $(this).val(''); }
    });
};