2 votes

Déclencheur de recherche personnalisé Google pour le texte concaténé

J'utilise la recherche personnalisée de Google :

1- J'écris un texte "A" dans le champ de recherche de Google,

2- lorsque je clique sur le bouton de recherche ou que j'appuie sur la touche entrée, javascript function_1/function_2 va concaténer le texte "B" (texte provenant d'une zone de texte html, voir l'exemple de code joint) au texte "A", puis la recherche sera déclenchée pour le texte concaténé("A" avec "B").

Mais, il semble que le processeur de recherche de google déclenche la recherche d'abord pour seulement le texte "A" et ensuite la concaténation est faite . Ce n'est pas ce que je veux. Je veux que la recherche soit faite pour le texte concaténé.

Voir l'exemple de code ci-joint, et s'il vous plaît laissez-moi savoir pour toute solution.

<div class="gcse-container" id="gcse_container">
  <gcse:search enableAutoComplete="true"></gcse:search>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<script>    
(function($, window) {
  var elementName = '';
  var initGCSEInputField = function_1() {
    $( '.gcse-container form.gsc-search-box input.gsc-input' )
      .on( "keyup", function( e ) {
      if( e.which == 13 ) { // 13 = enter
        var searchTerm = $.trim( this.value );
        if( searchTerm != '' ) {
       var elements = document.getElementById("firstname").value;
            this.value  += elements;
        }
      }
    });
    $( '.gcse-container form.gsc-search-box input.gsc-search-button' )
      .on( "click", function_2( e ) {
      var searchTerm = $.trim( $( '.gcse-container form.gsc-search-box input.gsc-input' ).val() );
      if( searchTerm != '' ) {
          var elements = document.getElementById("firstname").value;
          searchTerm +=elements;
          $( '.gcse-container form.gsc-search-box input.gsc-input').val(searchTerm);  
      }
    });
  };

  var GCSERender = function() {
    google.search.cse.element.render({
        div: 'gcse_container',
        tag: 'search'
      });
      initGCSEInputField();
  };
  var GCSECallBack = function() {
    if (document.readyState == 'complete') {
      GCSERender();
    }
    else {
      google.setOnLoadCallback(function() {
        GCSERender();
      }, true );
    }
  };

  window.__gcse = {
    parsetags: 'explicit',
    callback: GCSECallBack
  };
})(jQuery, window);

(function() {
  var cx = '017643444788069204610:4gvhea_mvga';
  var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
  gcse.src = 'https://www.google.com/cse/cse.js?cx=' + cx;
  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
})();

 </script>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X