cs_fabiano13
Messages postés262Date d'inscriptionmardi 26 février 2002StatutMembreDernière intervention27 février 2012
-
30 avril 2008 à 10:56
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
6 mai 2008 à 19:06
Bonjour,
Je cherche a créer une fonction qui permet de rechercher un mot uniquement dans un span spécifique (), et non dans toute la page !!!
D'avance merci.
Fabiano13
A voir également:
Wysiwyg : Rechercher un mot dans un SPAN ou un DIV ???
while (sSelectBlock1.findText(LeMot)) {
if (sSelectBlock1.offsetTop>sBlockSpan.offsetTop+sBlockSpan.offsetHeight){break;}
sSelectBlock1.select();
sSelectBlock1.scrollIntoView();
if (confirm("Est-ce bon ?")) {
alert('On transfère "' + LeMot + '" dans la liste !!')
return false;
}
sSelectBlock1.collapse(false);
sSelectBlock2 = sSelectBlock1.duplicate();
sSelectBlock1.moveToElementText(sBlockSpan);
sSelectBlock1.setEndPoint("StartToEnd", sSelectBlock2);
}
}
</script>
</head>
Rechercher (Et)
Maître Corbeau, sur un arbre perché,
Tenait en son bec un fromage.
Maître Renard, par l'odeur alléché,
Lui tint à peu près ce langage :
Et bonjour, Monsieur du Corbeau,
Que vous êtes joli ! que vous me semblez beau !
Sans mentir, si votre ramage
Se rapporte à votre plumage,
Vous êtes le Phénix des hôtes de ces bois.
À ces mots le Corbeau ne se sent pas de joie,
Et pour montrer sa belle voix,
Il ouvre un large bec, laisse tomber sa proie.
Le Renard s'en saisit, et dit : Mon bon Monsieur,
Apprenez que tout flatteur
Vit aux dépens de celui qui l'écoute.
Cette leçon vaut bien un fromage sans doute.
Le Corbeau honteux et confus
Jura, mais un peu tard, qu'on ne l'y prendrait plus
Maître Corbeau, sur un arbre perché,
Tenait en son bec un fromage.
Maître Renard, par l'odeur alléché,
Lui tint à peu près ce langage :
Et bonjour, Monsieur du Corbeau,
Que vous êtes joli ! que vous me semblez beau !
Sans mentir, si votre ramage
Se rapporte à votre plumage,
Vous êtes le Phénix des hôtes de ces bois.
À ces mots le Corbeau ne se sent pas de joie,
Et pour montrer sa belle voix,
Il ouvre un large bec, laisse tomber sa proie.
Le Renard s'en saisit, et dit : Mon bon Monsieur,
Apprenez que tout flatteur
Vit aux dépens de celui qui l'écoute.
Cette leçon vaut bien un fromage sans doute.
Le Corbeau honteux et confus
Jura, mais un peu tard, qu'on ne l'y prendrait plus
Maître Corbeau, sur un arbre perché,
Tenait en son bec un fromage.
Maître Renard, par l'odeur alléché,
Lui tint à peu près ce langage :
Et bonjour, Monsieur du Corbeau,
Que vous êtes joli ! que vous me semblez beau !
Sans mentir, si votre ramage
Se rapporte à votre plumage,
Vous êtes le Phénix des hôtes de ces bois.
À ces mots le Corbeau ne se sent pas de joie,
Et pour montrer sa belle voix,
Il ouvre un large bec, laisse tomber sa proie.
Le Renard s'en saisit, et dit : Mon bon Monsieur,
Apprenez que tout flatteur
Vit aux dépens de celui qui l'écoute.
Cette leçon vaut bien un fromage sans doute.
Le Corbeau honteux et confus
Jura, mais un peu tard, qu'on ne l'y prendrait plus
.
nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 201436 30 avril 2008 à 11:07
Salut,
>>Je cherche a créer une fonction qui permet de rechercher un mot uniquement dans un span spécifique (), et non dans toute la page !!!
Qu'es ce qui ne marche pas dans ta fonction ?
Un petit bout de code serai le bienvenue !
cs_fabiano13
Messages postés262Date d'inscriptionmardi 26 février 2002StatutMembreDernière intervention27 février 2012 30 avril 2008 à 11:33
Petite explication :
1) span : wsy (ContentEditable)2) 2 listes déroulantes (ListeDeMots1 listes de mots à chercher, ListeDeMots2 listes de mots trouvé)
3) nom du formulaire : formulaire1
J'ai deux listes à choix multiples. La première stock des mots à chercher, la deuxième sert à stocker les mots trouvés.
Tu noteras que cela marche très bien avec un "textarea" mais pas avec un "span" !
<script>
function ChercherUnMotDansSpan(str,strLng,strVal) {
var TexteConcerne = ""
var i = 0
var Trouve = ""
var MotsInterdit = "le,la,petit"
var TabMotsInterdit = MotsInterdit.split(",")
for (var k=0; k<TabMotsInterdit.length;k++){
if (str.toLowerCase()==TabMotsInterdit[k].toLowerCase()){
return false
}else{
var ListeDesMotsAChercher = document.formulaire1.ListeDeMots2 // Liste à choix multiple
for (i = 0; i <= n && (Trouve = TexteConcerne.findText(str)) != false; i++) {
TexteConcerne.moveStart("character", 1);
TexteConcerne.moveEnd("textedit");
}
if (Trouve) {
TexteConcerne.moveStart("character", -1);
TexteConcerne.findText(str);
TexteConcerne.select();
TexteConcerne.scrollIntoView();
n++;
if (confirm(strLng)){
ListeDesMotsAChercher.options[ListeDesMotsAChercher.options.length] = new Option(strLng,strVal); // si c'est OK bascule le mot trouvé dans la liste "ListeDeMots2"
n=0;
}else{
ChercherUnMotDansSpan(str,strLng,strVal); // si ce n'est pas le mot souhaité alors continue ta recherche
}
} else {
if (n > 0){n=0;}
}
break
}}
}
function MotAChercherDansListe(){
NbCol1 = document.formulaire1.elements.ListeDeMots1.length;
for(a=0; a<NbCol1; a++){ document.formulaire1.elements.ListeDeMots1.options[a].selected = true; }
var chaine = document.formulaire1.elements.ListeDeMots1.options[document.formulaire1.elements.ListeDeMots1.selectedIndex].text;
var reg=new RegExp("[ ]+", "g");
for (i=0; i<document.formulaire1.ListeDeMots1.options.length; i++) {
if (document.formulaire1.ListeDeMots1.options[i].selected ) {
chaine = document.formulaire1.ListeDeMots1.options[i].text;
sVal = document.formulaire1.ListeDeMots1.options[i].value
var reg=new RegExp("[ ]+", "g");
var tableau=chaine.split(reg);
for (var x=0; x<tableau.length; x++) {
ChercherUnMotDansSpan(tableau[x],chaine,sVal)
break
}
}
}
}
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 30 avril 2008 à 12:13
comme dit dans le message :
createrange ( exclusf IE je crois ), c'est sur le texte sélectionné
il suffit (?) de sélectionner le texte du span. à tester donc ?<hr /> Cordialement Bul [mon Site] [M'écrire]
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 30 avril 2008 à 13:37
faut pas chercher à inventer....
lu chez selfHTML :
select()
Sélectionne tout le texte contenu dans le champ. N'attend pas de paramètres.
Peut être utilisé sur: Champs de saisie pour mot de passe champs de saisie à une ligne champs
de saisie à plusieurs lignes Exemple:
donc à priori, pas sur un span....
function ToutSelectionnerDiv(){
if (document.selection){
document.selection.empty();
}else{
if (window.getSelection){
window.getSelection().removeAllRanges();
}}
if (document.selection){
var sSelection = document.body.createTextRange();
sSelection.moveToElementText(document.getElementById('foo2'));
sSelection.select();
}else{
if (window.getSelection){
var sSelection = document.createRange();
sSelection.selectNode(document.getElementById('foo2'));
window.getSelection().addRange(sSelection);
}}
}