Recherche dans un textarea

Résolu
Snowboarder69 Messages postés 41 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 23 juin 2007 - 23 juil. 2004 à 17:20
Snowboarder69 Messages postés 41 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 23 juin 2007 - 28 juil. 2004 à 11:21
Je ne connais pas assez le JavaScript pour faire cette fonction et je trouve pas grand chose pour m'aider.

Ce que je veux faire:
J'ai:
-un input text
-un textarea
-un bouton

Le contenu du text area peut être long et j'aimerais donc ,quand je clique sur le bouton, savoir si un texte (celui du input text)se trouve dans le TEXTAREA.
et Si il y est, le selectionner.

J'aimerais changer le systeme d'un cgi, en ce moment ca supprime directement avec ce code:

<script language="javascript" type="text/javascript">
<!--
function supr_adr_mail(supr,champ)
{
var test=0;
var separateur;
var adr_rest;
var chaine=champ.value;
champ.value="";
if (navigator.appName=="Microsoft Internet Explorer")
{ separateur="\r\n";
adr_rest = chaine.split(separateur);
}
else if (navigator.appName=="Netscape" || navigator.appName == "Mozilla")
{ separateur="\n";
adr_rest = chaine.split(separateur);
}
for(i = 0 ; i < adr_rest.length ; i++)
{
if (adr_rest[i]!=supr.value)
{ champ.value=champ.value+adr_rest[i]+separateur; }
else if (adr_rest[i]=supr.value)
{ test=1; }
}
if (test=="1")
{ alert("L'adresse '"+supr.value+"' a été supprimé") }
else
{ alert("L'adresse '"+supr.value+"' n'a pas été trouvé") }
}
//-->
</script>

3 réponses

Snowboarder69 Messages postés 41 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 23 juin 2007
28 juil. 2004 à 11:21
Bon et bien, j'ai trouvé la soluce, alors pour ceux que ça interresse:
function Search_adr(Adr,Liste,MsgNb)
{
   var found = false;

   if (Adr.value == ''){
      alert("Champ de recherche vide");
      return;
   }
   Liste.focus();
   document.getElementById("SearchTxt"+MsgNb).style.color="red";
   document.getElementById("SearchTxt"+MsgNb).innerHTML = "recherche en cours...";
   if (navigator.appName=="Microsoft Internet Explorer") {
      var oRange = Liste.createTextRange();
      if (oRange.findText(Adr.value)) {
         oRange.select();
         oRange.scrollIntoView();
         found = true;
      }
   }else if (navigator.appName=="Netscape" || navigator.appName == "Mozilla") {
      Pos = Liste.value.indexOf(Adr.value);
      if (Pos>=0) {
         Liste.selectionStart = Pos;
         Liste.selectionEnd = Pos+Adr.value.length;
         UneLigne = Liste.value.split("\n");
         longeur = 0;
         i = -1;
         do {
            i++;
            longeur = longeur + UneLigne[i].length + 1;
         } while ((longeur <= Pos));
         Liste.scrollTop = (i)*16;
         found = true;
      }
   }
   if (!found) {
      document.getElementById("SearchTxt"+MsgNb).innerHTML = "Adresse inconnue";
   } else {
      document.getElementById("SearchTxt"+MsgNb).style.color="green";
      document.getElementById("SearchTxt"+MsgNb).innerHTML = "Adresse trouvée";
   }
}

-Adr : textbox (texte a rechercher)
-Liste : textarea ( liste dand laquelle on recherche )
- MsgNb : un nombre ( indice du span d'affichage )

J'ai du gérer le scroll pour FireFox car ça ne faisait pas tout seule. La police doit donc être de 10pt pour que le calcul soit correcte

@+
3
Snowboarder69 Messages postés 41 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 23 juin 2007
23 juil. 2004 à 17:23
J'ai oublié de précisé, qu'il me faudrait pour aujourd'hui ( mon boulot fini ce soir) sinon ca peut faire une astuce pour les autres.

Et un lien me va aussi
0
Snowboarder69 Messages postés 41 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 23 juin 2007
26 juil. 2004 à 10:19
Finallement, mon travail continu, alors je suis toujours preneur d'une réponse.

Merci
0
Rejoignez-nous