$('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');
}
});
});
これは基本的にテキストボックスの背景テキスト効果を追加します(タイトルを使用します)。一旦選択されると、テキストは消える。submitでデフォルトテキストをテキストボックスから削除する
ここで、オプションのフィールドに問題があります。ユーザーがこれらのフィールドを編集しない場合、デフォルトのバックグラウンドテキストがフォームとともに送信されます。フォームが送信されると、未編集のフィールドの値をリセットする必要があります。どのようにこれを行うにはどのようなアイデア?
フォーム送信時にtitle = valueかどうかを確認しますか?はいの場合は ''に設定します。
あなたは、「バックグラウンドテキスト」を追加していないあなたが実際に設定していますフィールドの値なぜHTML5 [プレースホルダ](https://developer.mozilla.org/en/HTML/Element/input#attr-placeholder)属性を使用しないのですか? – j08691
j08691 - 良い提案ですが、ほとんどのユーザーがそれをサポートする最新のブラウザを使用していないことを覚えておく必要があります。 – naspinski
プレースホルダ属性に精通していませんでした。それを見て、ありがとう。 – domino