2

有料版の Google カスタム検索ボックスにプレースホルダーまたは値を入力するにはどうすればよいですか?

次のように、Google が提供する通常の API スクリプト プラグインを利用しようとしました。

<h5>SEARCH ON THIS SITE</h5></h6>
<div id="cse-search-form" style="width: 100%;">Loading ...</div>

<script type="text/javascript">
    google.load('search', '1', {language : 'en'});
    google.setOnLoadCallback(function() {
        var customSearchOptions = {};
        var imageSearchOptions = {};
        imageSearchOptions['layout'] = google.search.ImageSearch.LAYOUT_CLASSIC;
        customSearchOptions['enableImageSearch'] = true;
        customSearchOptions['imageSearchOptions'] = imageSearchOptions;  
        var customSearchControl = new google.search.CustomSearchControl(
        '312312312313123321312231:9cjokpdtmuaey', customSearchOptions);
        customSearchControl.setResultSetSize(
            google.search.Search.FILTERED_CSE_RESULTSET);
        var options = new google.search.DrawOptions();
        options.enableSearchboxOnly("search.htm");
        customSearchControl.draw('cse-search-form', options);
    }, true);
</script>

投稿したコードに目に見えるエラーはありますか?

ここのフォームで同様の質問を見つけましたが、答えは私の問題を解決しません:

4

1 に答える 1

0

解決策は次のとおりです。

  <div id="cse-search-form" style="width:100%;"></div>
  <script src="http://www.google.com/jsapi" type="text/javascript"></script>
  <script type="text/javascript">
    google.load('search', '1', {language : 'en', style : google.loader.themes.SHINY});
    google.setOnLoadCallback(function() {
      var customSearchOptions = {};  var customSearchControl = new google.search.CustomSearchControl(
        'XXXXXXXXXXXXXXXXXXXXX:xxxxxxxxxxx', customSearchOptions);
      customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
      var options = new google.search.DrawOptions();
      options.setSearchFormRoot('cse-search-form');
      customSearchControl.draw('cse', options);
      customSearchControl.setSearchCompleteCallback(this,function(){
        jQuery('#main').hide();
        jQuery('#cse').show();
        var query = jQuery('input.gsc-input').val();
        jQuery('#cse:not(.processed)').prepend('<h1 id="page-title" class="title"><span class="left">Search</span>:<span class="right"></span></h1>').addClass('processed');
        jQuery('#cse .right').html(' ' + query);
      });
        jQuery('input.gsc-input:not(.placeholder)').val('Search').addClass('placeholder');
        // Focus on search box block.
        jQuery('input.gsc-input').bind('focus', function(){
         if (jQuery(this).val() == 'Search'){
        jQuery(this).val('');
         }
         }).bind('blur', function(){
           if (jQuery(this).val() === ''){
          jQuery(this).val('Search');
           }
        });
    }, true);
  </script>
于 2012-11-30T15:39:53.803 に答える