1

在搜索表单中,我想在用户输入搜索字段(焦点)时将搜索字段中的初始值从“您的搜索”更改为“”(无),并在用户离开时将其更改回原始值该字段没有输入搜索(模糊)。我正在使用的样板函数是这样的:

    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 回答