Recherche dans un textarea [Résolu]

Signaler
Messages postés
41
Date d'inscription
vendredi 7 février 2003
Statut
Membre
Dernière intervention
23 juin 2007
-
Messages postés
41
Date d'inscription
vendredi 7 février 2003
Statut
Membre
Dernière intervention
23 juin 2007
-
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

Messages postés
41
Date d'inscription
vendredi 7 février 2003
Statut
Membre
Dernière intervention
23 juin 2007

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

@+
Messages postés
41
Date d'inscription
vendredi 7 février 2003
Statut
Membre
Dernière intervention
23 juin 2007

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
Messages postés
41
Date d'inscription
vendredi 7 février 2003
Statut
Membre
Dernière intervention
23 juin 2007

Finallement, mon travail continu, alors je suis toujours preneur d'une réponse.

Merci