Probleme dans ce script

Résolu
tonytruand Messages postés 175 Date d'inscription samedi 23 octobre 2004 Statut Membre Dernière intervention 8 mars 2015 - 12 avril 2006 à 22:30
tonytruand Messages postés 175 Date d'inscription samedi 23 octobre 2004 Statut Membre Dernière intervention 8 mars 2015 - 13 avril 2006 à 18:11
bonsoir;
je plante sur ce script, je pense que j'ai un problème de quote, peut être, mais je ne trouve pas la soluc.

avez vous une idée

merci

<html>
<head>
<title>Recherche</title>
<script language="JavaScript">


function recherche(){
var i=0;
var motrecherche = window.document.body.createTextRange();


var r = document.getElementById('eclate').value;
var reg=new RegExp("[ ,;]+", "g");
var tableau=r.split(reg);
for (var a=0; a<tableau.length; a++) {

while(motrecherche.findText(tableau[a])!=false) {
motrecherche.findText('+tableau[a]+');
motrecherche.moveStart("character",0);
motrecherche.findText('+tableau[a]+');alert('ensuite ça coince');
motrecherche.pasteHTML(""+ tableau[a] +"");
i++;}}
}</script>
</head>



<FORM name="button">
</form>" "motrecherche.pasteHTML


<textarea id=eclate>toto</textarea>



un texte qui ne sert toto a rien d'autre qu'illustrer
la fonctionnalite de tatace script

un texte qui ne sert a rien d'autre qu'illustrer
la fonctionnalite de ce script

un texte qui ne sert titi a rien d'autre qu'illustrer
la fonctionnalite de ce script


</html>

[:D][:)]

[:D][:)]

2 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
13 avril 2006 à 09:16
Bonjour,

1° motrecherche.pasteHTML pas sûr que ça existe pasteHTML?

2° for (var a=0; a<tableau.length; a++) {
while(motrecherche.findText(tableau[a])!=false) {
}
je pense que ça va boucler à l'infini
remplacer for( var a=... par var a=0; et i++; par a++; ? peut-être ?

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
3
tonytruand Messages postés 175 Date d'inscription samedi 23 octobre 2004 Statut Membre Dernière intervention 8 mars 2015
13 avril 2006 à 18:11
bonjour et merci pour la tentative, mais j'ai trouvé autre chose qui me permet presque d'aboutir à ce que je cherche, le seul problème est que je n'arrive pas à accéder à l'iframe.
le 1er bouton ajoute bien du texte dans l'iframe le 2ème contrôle la page active et non l'iframe. une idée merci

1 er fichier acces.html

<html><head>
<style type="text/css">
.surligne
{
color: #C30;background-color: #ffa;
}
</style>


<script type"text/javascript">
function recherche(chaine)
{


var mo = document.getElementById('eclate').value;
var reg=new RegExp("[ ,;]+", "g");
var chaine=mo.split(reg);
for (var a=0; a<chaine.length; a++) {





var i=posChaine=posTag=finTag=n=0;doc1=doc2=''
//doc1 : texte avant un tag
//doc2 : texte final
var doc = document.body.innerHTML
el=''+chaine[a]+''
if(chaine[a]=='')return
while(doc!='' && n<999)// n pour éviter la boucle infinie
{
posTag=doc.indexOf('<') //position d'un début de balise HTML
doc1=doc.substr(0,posTag) // bout de texte avant un tag
while(doc1.indexOf(chaine[a])!=-1 && i<99) //tant qu'on trouve une occurence de la chaine
{
posChaine=doc1.indexOf(chaine[a]); // position occurence trouvée
doc2+=doc1.substr(0,posChaine)+el // texte avant occurence + élément ajouté
doc1=doc1.substr(posChaine+chaine[a].length,doc1.length) // doc1 restant
i++
}
doc2+=doc1 // on ajoute doc1 restant après la sortie de boucle
finTag=doc.indexOf('>')
doc2+=doc.substring(posTag,finTag+1) // ajoute le tag
doc=doc.substr(finTag+1,doc.length) //reste du texte
n++
}
document.body.innerHTML=doc2+doc // complète avec le reste de texte

}}
</script>



</head>







<textarea id=eclate>FIN</textarea> fin FIN fin FIN fin FIN



l'iframe : test1.html

<html><head></head>

FIN et cela ne marche pas pourtant j'ai essayé avec différents truc du style
maFrame.document.body.innerHTML
ou encore maFrame.document.getElementById('lien').innerHTML

[:D][:)]
0
Rejoignez-nous