IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Recherche Multi moteur


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 42
    Points : 24
    Points
    24
    Par défaut Recherche Multi moteur
    Bonjour,

    Je souhaiterais faire un petit formulaire de recherche avec option ( Google / Yahoo / Bing ).

    Ce code est idéal, mais il manque des éléments pour qu'il fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <script type="text/javascript">
    <!--
    function goSearch(){
    //search according to checked radio button
    }
    			tab = new Array(  ) ;
    			tab[0] = new Array( 'google','http://www.google.com/search','get','q' ) ;
    			tab[1] = new Array( 'yahoo','http://fr.search.yahoo.com/search','get','p' ) ;
    			tab[2] = new Array( 'bing','http://www.bing.com/search','get','p' ) ;
    -->
    </script>
     
     
    <h1>Recherche Internet</h1><br />
     
     
    <form method="get" action="goSearch()">
     
    <input type="text" name="q" size="25" maxlength="255" value="" />
     
    <br /><br />
     
    <input type="radio" name="search" id="google"/>GOOGLE
    <input type="radio" name="search" id="yahoo"/>YAHOO
    <input type="radio" name="search" id="bing" />BING
     
    <br /><br />
     
    <input type="submit" value="RECHERCHE" />
     
    </form>
    Il s'agit seulement de se retrouver sur l'un des trois moteurs de recherche choisi par une option (radio), avec le mot clé inséré.

    Je vous remercie par avance de votre précieuse aide.

    Cordialement.

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Ce code est idéal, mais il manque des éléments pour qu'il fonctionne.
    Je vois que tu as le goût du paradoxe, ça tombe bien


    par contre, que manque-t-il dans ton code pour que l'utilisateur arrive sur google ou compagnie?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    Je vois que tu as le goût du paradoxe, ça tombe bien
    J’essaie

    Et bien, ce qu'il me manque, c'est toute mon interrogation

    Voici un site qui propose un peu la même idée (sans vouloir copier évidemment), voici ce site : http://www.startissimo.com/

    Ce site utilise ce script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    <script language="javascript" type="text/javascript" charset="utf-8">
    <!--
    function addFav()
    {
    if (document.all)
    {
    window.external.AddFavorite(location.href, document.title);
    }
    else
    {
    alert('Vous pouvez faire CTRL + D pour ajouter cette page dans vos signets, ou favoris.')
    }
    }
     
    var urlList = [];
     
    function Url(url, formValue, target, useUtf8) {
        this.url = url;
        this.target = target;
        this.formValue = formValue;
        this.useUtf8 = useUtf8;
    }
     
    function addUrl(url, formValue, target, useUtf8) {
        urlList[urlList.length] = new Url(url, formValue, target, useUtf8);
    }
     
    <!-- inserer les adresses ici -->
    addUrl("http://www.google.fr/#q=", "google", "_blank", true);
    addUrl("http://search.yahoo.com/search;_ylt=A0oGdSYqoghNankB1YSl87UF;_ylc=X1MDMjE0MjQ3ODk0OARfcgMyBGZyA3NmcARuX2dwcwMwBG9yaWdpbgNzeWMEcXVlcnkDYWlt6QRzYW8DMA--?fr=sfp&fr2=sfp&iscqry=&p=", "yahoo", "_blank", true);
    addUrl("http://www.bing.fr/search?q=", "bing", "_blank", true);
    addUrl("http://www.youtube.com/results?search_query=", "youtube", "_blank", true);
    addUrl("http://www.dailymotion.com/relevance/search/", "dailymotion", "_blank", true);
    addUrl("http://www.pixfinder.net/en/?q=", "pixfinder", "_blank", true);
    addUrl("http://www.les-verbes.com/conjuguer.php?verbe=", "conjugaison", "_blank", true);
    addUrl("http://www.le-dictionnaire.com/definition.php?mot=", "le-dictionnaire", "_blank", false);
    addUrl("http://www.synonymes.com/synonyme.php?mot=", "synonymes", "_blank", false);
    addUrl("http://fr.wikipedia.org/wiki/", "wikipedia", "_blank", true);
    addUrl("http://maps.google.com/?q=", "google-maps", "_blank", true);
    addUrl("http://recherche.lefigaro.fr/recherche/recherche.php?ecrivez=", "le-monde", "_blank", true);
     
     
    function validatePost(form) {
        if (form.query.value == "") {
            return false;
        }
     
        var radioValue = $('input:radio[name=radio]:checked').val();
     
        for (var i=0; i<urlList.length; i++) {
            var item = urlList[i];
            if (radioValue == item.formValue) {
                var thisUrl = form.query.value;
                if (item.useUtf8) {
                    thisUrl = unescape(encodeURIComponent(form.query.value));
                }
                thisUrl = escape(thisUrl);
                window.open(item.url + thisUrl, item.target);
                return false;
            }
        }
        return false;
    }
     
    //-->
    </script>
    Avec pour exécution ce script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form onSubmit="return validatePost(this);" style="display: inline;" method="GET" action="" accept-charset="utf-8">
    Peut être que les éléments suivants vous donnera plus indications, du moins je l'espère

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 42
    Points : 24
    Points
    24
    Par défaut J'ai avancé sur mon script, mais j'ai besoin d'aide pour les finissions
    RE :

    J'ai pas mal avancé sur ma recherche, voici mon script actuellement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    <html>
     
    <head>
     
    <script language="javascript">
    <!--
    function $(o){
     var o=document.getElementById(o)?document.getElementById(o):o;
     return o;
    }
     
    function gt(f){
     var t;
     var u;
     if(f.a0 != undefined){
      u = 'Y:';
      t = f.q.value;
      if(f.a0.checked==true){u+='0;';}
      if(f.a1.checked==true){u+='1;';}
      if(f.a2.checked==true){u+='2;';}
      if(f.a3.checked==true){u+='3;';}
      if(f.a4.checked==true){u+='4;';}
      if(f.a5.checked==true){u+='5;';}
     
     }
     else{
      t = f.Ka.value;
      u = 'G';
     }
     try{
     
     }catch(ex){}
     if($("Ka").value == ""){
      $("ch").value = "noprefill";
     } else {
      $("ch").value = "prefill";
     }
    }
     
    function s4(){
     var v=$("Kaa").value
     if($("a0").checked){
     $("SoAll").action='http://fr.search.yahoo.com/search','0';
     $("gForm").innerHTML="<input type='hidden' name='client' value='aff-avalanche' /><input type='hidden' name='forid' value='1' /><input type='hidden' name='channel' value='prefill' id='ch' /><input type='hidden' name='ie' value='gb' /><input type='hidden' name='oe' value='UTF-8' /><input type='hidden' name='hl' value='fr' />";
     $("SoAll").submit();
     }
     if($("a1").checked)
     window.open("http://www.alltheweb.com/search?cat=vid&cs=utf8&q="+v+"&rys=0&itag=crv","1");
     if($("a2").checked)
     window.open("http://images.google.fr/images?q="+v,"2");
     if($("a3").checked)
     window.open("http://www.excite.fr/search/mp3/results?offset=0&q="+v,"4");
     if($("a4").checked)
     window.open("http://search.ebay.fr/search/search.dll?cgiurl=http%3A%2F%2Fcgi.ebay.fr%2Fws%2F&fkr=1&from=R8&satitle="+v,"4");
     if($("a5").checked)
     window.open("http://www.01net.com/recherche/index.php?searchstring="+v+"&type=01net&system=windows","5");
     
     return false;
    }
     
    </script>
     
    </head>
     
    <body>
     
    <FORM id="SoAll" onSubmit="gt(this);return s4()" action="" method=get>
     
    <input id="Kaa" name="q" class="Input" type="text"><br><br>
     
     
    <input type="radio" id="a0" class="Radio"/>Yahoo<br>
     
    <input type="radio" id="a1" class="Radio"/>AlltheWeb<br>
     
    <input type="radio" name="search" id="a2" class="Radio"/>Google image<br>
     
    <input type="radio" name="search" id="a3" class="Radio"/>Excite<br>
     
    <input type="radio" name="search" id="a4" class="Radio"/>Ebay<br>
     
    <input type="radio" name="search" id="a5" class="Radio"/>01net<br><br>
     
     
    <INPUT class="Submit" type="submit" value="Recherche">
     
    </form>
     
     
    </body>
    </html>
    Les recherches fonctionnent, par-contre il y a un dysfonctionnement concernant les cases a cocher, à savoir qu'il ne se décoche pas toute lorsque l'on sélectionne un autre moteur de recherche, vous allez comprendre de suite lors de la consultation de ce script

    Un petit détail que j'aimerais apporter a ce script, j'aimerais que toutes les recherches s'ouvre dans la même page et non dans une autre fenêtre comme c'est le cas actuellement.

    UN TRÈS GRAND MERCI POUR VOTRE AIDE

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 060
    Points : 44 585
    Points
    44 585
    Par défaut
    Bonsoir,
    ...par-contre il y a un dysfonctionnement concernant les cases a cocher, à savoir qu'il ne se décoche pas toute lorsque l'on sélectionne un autre moteur de recherche,...
    il manque un name à tes 2 premiers RADIO pour qu'ils soient gérés avec les autres.

    Un petit détail que j'aimerais apporter a ce script, j'aimerais que toutes les recherches s'ouvre dans la même page et non dans une autre fenêtre comme c'est le cas actuellement.
    cela risque d'être touffu, mais avec une gestion par IFRAME c'est sûrement jouable

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    Merci beaucoup NoSmoking

    Pour les 2 premiers RADIO, c'est PARFAIT... C'était en effet ça, une belle erreur d’inattention de ma part

    Par-contre, pour arrêté l'ouverture dans une autre fenêtre, j'ai pas encore réussi... Je sais pas si tu as vu, mais le premier choix "Yahoo" s'ouvre dans la même fenêtre, contrairement aux autres, fonction "window.open".


  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 060
    Points : 44 585
    Points
    44 585
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script language="javascript">
    <!--
    on commence par remplacer cela par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript">
    et on supprime le commentaire de début utilisait pour les navigateurs de jadis.

    pour la suite si on isole
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     if($("a0").checked){
      $("SoAll").action='http://fr.search.yahoo.com/search','0';
      $("gForm").innerHTML="<input type='hidden' name='client' value='aff-avalanche' /><input type='hidden' name='forid' value='1' /><input type='hidden' name='channel' value='prefill' id='ch' /><input type='hidden' name='ie' value='gb' /><input type='hidden' name='oe' value='UTF-8' /><input type='hidden' name='hl' value='fr' />";
      $("SoAll").submit();
     }
    cela signifie que
    SI le 1st radio est coché ALORS
    on soumet le formulaire avec comme action la recherche search.ya...etc..., ce qui fait que la page est rechargée avec le résultat de l'action.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    Merci pour cette explication, je comprend le principe grâce a toi maintenant. Par-contre je n'ai pas réussi a le mettre en place...

    Es-ce qu'il est possible que tu me mette le code dans son intégralité ?

    Merci vraiment pour ton aide et de prendre le temps pour m'aider

  9. #9
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 060
    Points : 44 585
    Points
    44 585
    Par défaut
    pour le $("a0"), tu fais la même chose que pour les autres, après il te resteras certainement à optimiser tout cela

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    C'est bon, j'ai réussi, UN TRÈS TRÈS GRAND MERCI A TOI

    voici mon code final :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <script language="javascript">
    <!--
    function $(o){
     var o=document.getElementById(o)?document.getElementById(o):o;
     return o;
    }
     
    function gt(f){
     var t;
     var u;
     if(f.a0 != undefined){
      u = 'Y:';
      t = f.q.value;
      if(f.a0.checked==true){u+='0;';}
      if(f.a1.checked==true){u+='1;';}
      if(f.a2.checked==true){u+='2;';}
      if(f.a3.checked==true){u+='3;';}
      if(f.a4.checked==true){u+='4;';}
      if(f.a5.checked==true){u+='5;';}
     
     }
     else{
      t = f.Ka.value;
      u = 'G';
     }
     try{
     
     }catch(ex){}
     if($("Ka").value == ""){
      $("ch").value = "noprefill";
     } else {
      $("ch").value = "prefill";
     }
    }
     
    function s4(){
     var v=$("Kaa").value
     if($("a0").checked){
     $("SoAll").action='http://fr.search.yahoo.com/search','0';
     $("gForm").innerHTML="<input type='hidden' name='client' value='aff-avalanche' /><input type='hidden' name='forid' value='1' /><input type='hidden' name='channel' value='prefill' id='ch' /><input type='hidden' name='ie' value='gb' /><input type='hidden' name='oe' value='UTF-8' /><input type='hidden' name='hl' value='fr' />";
     $("SoAll").submit();
     }
     if($("a1").checked)
     window.open("http://images.google.fr/images?q="+v,"_self");
     if($("a2").checked)
     window.open("http://www.youtube.com/results?search_query="+v,"_self");
     if($("a3").checked)
     window.open("http://fr.wikipedia.org/wiki/"+v,"_self");
     if($("a4").checked)
     window.open("http://www.lemonde.fr/recherche/resultats.html?token=&keywords="+v+"&x=0&y=0","_self");
     if($("a5").checked)
     window.open("http://www.allocine.fr/recherche/?q="+v,"_self");
     
     return false;
    }
     
    </script>
    Encore une fois, ton aide m'a été précieuse, merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] moteur recherche multi pagination suivant recherche
    Par speedylol dans le forum PHP & Base de données
    Réponses: 51
    Dernier message: 13/01/2017, 10h51
  2. [ZF 1.9] Moteur de recherche multi-critères
    Par elriri dans le forum Zend Framework
    Réponses: 4
    Dernier message: 27/02/2012, 23h15
  3. [MySQL] Moteur de recherche multi critére - Probléme affichage si champs vide
    Par karpe dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 28/02/2010, 20h59
  4. Moteur de recherche multi critères avec filtre
    Par kina17 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 08/04/2008, 19h33
  5. Recherche multi-mots sur une seule colonne
    Par Badiste dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/03/2004, 11h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo