Avatar billede ff Nybegynder
13. august 2004 - 17:44 Der er 16 kommentarer og
1 løsning

En form til at søge på en side

Kan man lave en form som kan søge på samme måde som i Expl. > Rediger>søg(På denne side) Ctrl+B

Tænkte at lave et tekstfelt øverst på siden som man kan skirve i og klikke på en knap og derefter få fremtoning på de ord der er på siden
Avatar billede roenving Novice
13. august 2004 - 17:57 #1
Tjah, den vil sikkert kunne lave meget ravage, men f.eks. sådan:

<script language="javascript" type="text/javascript">
function soeg(){
  var s = document.getElementById('soeg').value,d = document.getElementById('site');
  var reg = new RegExp("("+s+")","gim");
  alert(reg);
  d.innerHTML = d.innerHTML.replace(reg,"<span style='color:green;'>$1</span>");
}
</script>

-- og:

<body>
Søg på denne side: <input type="text" id="soeg"><button onclick="soeg();">Søg</button>
<div id="site">

...

</div>
</body>
Avatar billede ff Nybegynder
13. august 2004 - 18:30 #2
tak roenving
Er det muligt at tilføje tekst i alert vinduet, tænkte på de to muligheder "Intet resultat" og noget anden når ord findes :)
Avatar billede roenving Novice
13. august 2004 - 18:44 #3
Alerten var bare en debug-alert, og grunden til at jeg ikke sådan arbejdede meget med den er, at den ikke kan skelne hvad der er dele af tags og hvad der ikke er i tags !-)

Men man kan sagtens alerte, hvis ingenting findes:

<script language="javascript" type="text/javascript">
function soeg(){
  var s = document.getElementById('soeg').value,d = document.getElementById('site');
  var reg = new RegExp("("+s+")","gim");
  if(!d.innerHTML.match(reg))alert('Intet fundet');
  else d.innerHTML = d.innerHTML.replace(reg,"<span style='color:green;'>$1</span>");
}
</script>

-- men den er farlig, for hvis der findes noget inde i tags, kan den spolere hele siden, og jeg kan ik' li'e se, at man kan undgå det på en rimelig tilgængelig måde ...
Avatar billede ff Nybegynder
13. august 2004 - 18:49 #4
OK
kan man bare fjerne
alert(reg);

og så fungerer den uden alert
Avatar billede roenving Novice
13. august 2004 - 18:52 #5
Jepz !-)
Avatar billede ff Nybegynder
13. august 2004 - 18:53 #6
Der sker noget sjovt når man klikker to gange uden at skrive i formen :)
Avatar billede ff Nybegynder
13. august 2004 - 18:55 #7
Det er nok som i eventyr - tredie gang
Avatar billede roenving Novice
13. august 2004 - 18:56 #8
Ja, det er ikke lavet meget ved den, men lige den mest elementære sikkerhed:

function soeg(){
  var s = document.getElementById('soeg').value,d = document.getElementById('site');
  if(s=="")return;
  var reg = new RegExp("("+s+")","gim");
  if(!d.innerHTML.match(reg))alert('Intet fundet');
  else d.innerHTML = d.innerHTML.replace(reg,"<span style='color:green;'>$1</span>");
}
Avatar billede ff Nybegynder
13. august 2004 - 19:00 #9
Nu ser den ud til at fungere fint - udmærket, du må gerne bryge svar :) takker
Avatar billede ff Nybegynder
13. august 2004 - 19:04 #10
Det ville være super med en "slette-knap" reload, hvordan ku den se ud :)
Avatar billede roenving Novice
13. august 2004 - 19:08 #11
Hvordan slette ?-)
Avatar billede ff Nybegynder
13. august 2004 - 20:05 #12
... når man har søgt på ord så blir de farvet, tænkte på at man så har brug for at fjerne farven inden man søger på ny (på et andet ord).
Det som sker når man trykker F5. Så en knap som gør det samme som F5 :)
Avatar billede roenving Novice
13. august 2004 - 20:10 #13
<button onclick="clearSoeg()">Fjern markeringer</button>

-- og så en funktion mere i javascript-blokken:

function clearSoeg(){
  var reg = /<span style='color:green;'>([^<])<\/span>/,d = document.getElementById('site');
  d.innerHTML = d.innerHTML.replace(reg,"$1");
}

-- og velbekomme '-)

-- bare vær opmærksom på, at hvis du indtaster f.eks. et tag el. lign. bliver det rigtig sjov kode ...
Avatar billede roenving Novice
13. august 2004 - 20:11 #14
Øv:

  var reg = /<span style='color:green;'>([^<]*)<\/span>/,d = document.getElementById('site');
Avatar billede ff Nybegynder
13. august 2004 - 21:39 #15
Nu siger den fejl i linje 27 :(
Avatar billede ff Nybegynder
13. august 2004 - 22:18 #16
Nu kører det uden clear, takker
Avatar billede roenving Novice
14. august 2004 - 01:49 #17
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester