Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2622 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  SCRIPT - Rechercher dans une page...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SCRIPT - Rechercher dans une page...

n°1709375
Sanglier
Cochon qui s'en dédit !
Posté le 28-03-2008 à 16:35:31  profilanswer
 

Bonjour,
 
Je suis novice en java script.
Et je voudrais faire un truc (semble-t-il) tout simple... mais ça ne marche pas.
Voilà : je voudrais mettre un petit formulaire pour chercher des termes dans une page HTML (la page va être une longue liste).
J'ai récupéré ce script :
 

Citation :


 
C'est en 2 parties :
 
A mettre entre le <head> et le </head>
 
<<b style="color:black;background-color:#ffff66">script</b> language="JavaScript">
/*
<b style="color:black;background-color:#ffff66">Script</b> amélioré par le site WEB Creation :
- <b style="color:black;background-color:#a0ffff">recherche</b> le terme suivant en utilisant une touche
- activation et désactivation de l'événement touche quand on entre un mot
- adaptation aux navigateurs récents
- modification des boutons lors de la <b style="color:black;background-color:#a0ffff">recherche</b>
...
> http://www.web-creation-fr.com
*/  
var IE = (document.all);
var win = window;    
var n   = 0;
 
function findInPage(str) {
  var txt, i, found;
 
  if (str == "" ) {
        alert("Veuillez entrer un mot à chercher" );
  search.rechercher.value="Rechercher";
  search.quoi.focus();  
  return false;
 }
 
  if (document.all) {
    txt = win.document.body.createTextRange();
    for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
      txt.moveStart("character", 1);
      txt.moveEnd("textedit" );
    }
    if (found) {
      txt.moveStart("character", -1);
      txt.findText(str);
      txt.select();
      txt.scrollIntoView();
      n++;
    } else {
      if (n > 0) {
        n = 0;
        findInPage(str);
      } else {
        alert("Le mot cherché n'existe pas sur cette <b style="color:black;background-color:#99ff99">page</b>." );
  search.rechercher.value="Rechercher";
  search.quoi.focus();  
  DesactiveTouches();
  }
    }
  } else {
    if (!win.find(str))
      while(win.find(str, false, true))
        n++;
    else
      n++;
 
    if (n == 0) {
      alert("Le mot cherché n'existe pas sur cette <b style="color:black;background-color:#99ff99">page</b>." );
  search.rechercher.value="Rechercher";
  search.quoi.focus();  
  DesactiveTouches();
  }
  }
  return false;
}
 
function backhome(e){
if (document.all){
if (event.keyCode==114) {
findInPage(document.search.quoi.value);
}
} else {
if (e.which==114) {
document.captureEvents(Event.KEYPRESS);
}
findInPage(document.search.quoi.value);
}
}
function ActiveTouches() {
document.onkeypress=backhome
}
function DesactiveTouches() {
document.onkeypress="";
}
</<b style="color:black;background-color:#ffff66">script</b>>
 
 
---------------------------
 
 
A mettre entre le <body> et </body> :
 
 
  <form name="search" onSubmit="return findInPage(this.quoi.value);">
    <font size=3>
    <input name="quoi" type="text" size=15 onChange="n = 0;"  
 
onclick="rechercher.value='Rechercher';javascript:DesactiveTouches();">
    </font>  
    <input type="submit" name="rechercher" value="Rechercher"  
 
onClick="this.value='Rechercher encore';javascript:ActiveTouches();">
  </form>
 


 
Je copie/colle tout bien, comme il faut, entre les deux balises... mais ça rate.
Le formulaire est là, mais il ne marche pas et il y a tout une partie du script qui apparaît en lettres sur la page.
 
HELP !
 
PS : j'indique également que la dite page n'est pas encore faite (je ne pourrai donc pas la produire). C'est pour un futur travail. J'ai juste fait des essais avec des pages HTML toutes vides produites via un WYSWYG, NAMO pour ne pas le nommer...
Pour d'autres scripts, je m'en tire bien.
Mais celui-là ne marche pas et j'en trouve pas d'autres sur le NET.
 
Merci d'avance.


Message édité par Sanglier le 28-03-2008 à 16:51:04
mood
Publicité
Posté le 28-03-2008 à 16:35:31  profilanswer
 

n°1709409
Bidem
Posté le 28-03-2008 à 17:21:18  profilanswer
 

Mes conseils :
 - ne pas utiliser ce script (ni aucun autre pour faire ça)
 - ajouter un peut commentaire du style :
   "Pour faire une recherche sur cette page, faites CTRL + F"
   (ça marche pour tous les navigateurs au moins)


Message édité par Bidem le 28-03-2008 à 17:21:51

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  SCRIPT - Rechercher dans une page...

 

Sujets relatifs
[php] recherche script connexion phpbb3cacher le nom de fichier sur une page HTML
Besoin d'aide Urgent pour script KSHRecharger la page quand l'utilisateur appuie sur le bouton "back"
Script Imprimante reseau par défautNT
probleme d'affichage avec un scriptfaire un script BATCH
Script de gestion d'articles 
Plus de sujets relatifs à : SCRIPT - Rechercher dans une page...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR