2
     $('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');
                    }
                });


                });

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

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

也许在表单提交时,检查标题是否=值?如果是,则设置为''。

4

4 回答 4

1

我们使用了HTML5 Placeholder jQuery Plugin,它在这种情况下运行良好。

于 2012-05-03T19:33:30.937 回答
1

根据您拥有的代码,您可以执行以下操作:

$("#yourForm").submit(function () {
     $('input[class*="defaulttext"]').val("");
};
于 2012-05-03T19:35:31.753 回答
0

您可以这样做,并检查 title=value 的值。或者,您可以使用jQuery.data()标记已编辑的字段

于 2012-05-03T19:33:33.207 回答
0
$("#yourForm").submit(function () {
    $('input.defaulttext').each(function() {
        if($(this).val() === $(this).attr('title')) { $(this).val(''); }
    });
};
于 2012-05-03T19:44:17.900 回答