1

フォームに jquery/js を実装し、入力値を動的にしたいと考えています。基本的には、一度クリックするとフィールドの値が消えたりぼやけたりし、値が設定されていてデフォルト値と同じでない場合、jqueryはユーザーが値を挿入することを期待しています。ただし、ユーザーによって書き込まれた値が同じである場合は、受け入れずにエラーをスローします。それ以外の場合、ユーザーによって「入力された」値が空の場合は、デフォルト値を再度表示します。多くのサイトでこの機能の実装を見たことがあると思うので、それは理にかなっていると確信しています。しかし、私は今jqueryの男なので、それを行う方法がわかりません。PHPでも同じことができますが、ページの更新は避けたいものです。したがって、次があると仮定します。

<input type="text" value="City" />

ありがとう、ボルニ。

4

2 に答える 2

2

こんなところに?

$(document).ready(function() {

    $('input[class="foo"]').attr('value', $(this).attr('placeholder')).focus(function() {
        if ($(this).val('placeholder')) {
            $(this).attr('value', '');
        }
    }).blur(function() {
        if ($(this).val() == '') {
            $(this).attr('value', $(this).attr('placeholder'))
        }
    });
});

編集: コードを更新し、クリストファー・ラミレスから提供された提案をいじる

于 2012-06-09T21:57:48.287 に答える
1

必要なものは「プレースホルダー」と呼ばれます。それらは、Webkit や Mozilla などの最新のブラウザーに実装されています。新しいバージョンの IE がそれらを実装しているかどうかはわかりません。

inputそれらを使用するには、要素内で という新しい属性を宣言しますplaceholder。このような:

<input type="text" name="fullname" placeholder="Type your full name" />

バックアップとして、placeholder属性がブラウザでサポートされていない場合、このアーククルが必要な場所に到達するのに役立つ場合があります

更新:これは私が見つけたばかりのプラグインです。使いやすそうです。

于 2012-06-09T21:52:32.560 に答える