1

検索フォームで、ユーザーが検索フィールドに入力すると (フォーカスがある場合)、検索フィールドの初期値を 'Your Search' から ' ' (なし) に変更し、ユーザーが離れると元の値に戻します。検索を入力せずにフィールドに入力します(ぼかしの場合)。私が使用しているボイラープレート関数は次のとおりです。

    function boilerplate_search_form ( $form ) {
    $form = '<form role="search" method="get" id="searchform" action="' . home_url( '/' ) . '" >
    <div>
    <label class="screen-reader-text" for="s">' . __('Search for:','luchtspin') . '</label>
    <input type="search" placeholder="' . __('', 'luchtspin') . '" value="'. __('Your search','luchtspin') .'" name="s" id="s" />
    <input type="submit" id="searchsubmit" value="'. esc_attr__('Search','luchtspin') .'" />
    </div>
    </form>';
    return $form
    }
    add_filter( 'get_search_form', 'boilerplate_search_form' );

私は以下のコードを追加する行に沿って考えていましたが、明らかに if ステートメントを挿入することはできず、それがまさに私の PHP スキルが停止する場所です。

    onfocus=if (form.value == "'. __('Your search','luchtspin') .'") {form.value = '';} onblur=if (form.value == '') {form.value = "'. __('Your search','luchtspin') .'";}

これはおそらくそれほど難しくありません。www.luchtspin.nl の検索フォームでサイトへのリンクをお勧めします。これを手伝ってくれる人はいますか?

4

2 に答える 2

3

HTML5placeholder属性を使用するだけです。<input type="text" name="query" placeholder="Your Search">

于 2012-07-03T14:46:45.437 に答える
1

このタスクにはjQueryを使用できます

$("input").blur(function() {
    if($.trim($(this).val()).length == 0)
        $(this).val($(this).data('last_value'));
}).focus(function() {
    $(this).data('last_value', $(this).val());
    $(this).val("")
});
于 2012-07-03T15:00:53.067 に答える