Toon posts:

[JS] Tekstvak uitlezen met enter

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een tekstvak waar je een naam invoert, als ik op de knop 'zoek' druk dan zoekt hij op de actieve pagina naar het ingevoerde woord en dat selecteerd ie.
Dit gaat allemaal via javascript en werkt goed.

Maar als ik een woord invoer en op enter druk dan opent hij op een andere pagina dezelfde pagina maar selecteerd niks. Je moet op de knop 'zoek' drukken anders zoekt hij niet.

Hoe krijg ik het voor elkaar als ik op enter druk hij ook het geselecteerde woord zoekt?

Dit is mijn Form:

<FORM name=search><font face="Arial, Helvetica, sans-serif" size="2" color="#000000"><b>Zoek
Naam</b></font> <INPUT name=string
onchange="n = 0;"> <INPUT onclick=findInPage(this.form.string.value); type=button value=Zoek>
</FORM>

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Heb je hier al eens gekeken :?

http://developer.irt.org/script/form.htm

  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
HTML:
1
<input type="text" name="txtString" onchange="n = 0;" onKeyUp="(event.keyCode == 13) ? findInPage(this.form.txtString.value) : void(0);" />


edit:
return false vervangen door void(0);

[ Voor 71% gewijzigd door r0bert op 26-11-2002 09:52 ]


Verwijderd

Topicstarter
dankje r0bert, ik heb nu dit:

<FORM name=search><font face="Arial, Helvetica, sans-serif" size="2" color="#000000"><b>Zoek Naam</b></font>
<INPUT name=string onchange="n = 0;">
<input type="text" name="txtString" onchange="n = 0;" onKeyUp="(event.keyCode == 13) ? findInPage(this.form.txtString.value) : void(0);" />
<INPUT onclick=findInPage(this.form.txtString.value); type=button value=Zoek>
</FORM>

dus de 'zoek' knop werkt nu ook alleen als ik deze regel weg haal:

<INPUT name=string onchange="n = 0;">

dan werkt het tekstvak txtString niet meer met enter

hoe los ik dit dan op? want nu staan er 2 tekstvakken op het scherm

Verwijderd

Topicstarter
als ik er hidden van maakt werkt het ook niet..

  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
HTML:
1
2
3
4
5
<form name="search">
   <b style="font-family: Arial, Helvetica, sans-serif; font-size: 2pt; color: #000000;">Zoek Naam</b>
   <input type="text" name="txtString" onChange="n = 0;" onKeyUp="(event.keyCode == 13) ? findInPage(this.form.txtString.value) : void(0);" />
   <input type="button" onClick="findInPage(this.form.txtString.value);" value="Zoek" /> 
</form>

Werkt toch gewoon :?

edit:
Iets overzichtelijker misschien:

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<form name="search">
   <b style="font-family: Arial, Helvetica, sans-serif; 
             font-size: 2pt; 
             color: #000000;">
         Zoek Naam
    </b>

   <input type="text" 
          name="txtString" 
          onChange="n = 0;" 
          onKeyUp="(event.keyCode == 13) ? findInPage(this.form.txtString.value) : void(0);" />
   <input type="button" 
          onClick="findInPage(this.form.txtString.value);" 
          value="Zoek" /> 
</form>

[ Voor 49% gewijzigd door r0bert op 26-11-2002 14:53 ]


Verwijderd

Topicstarter
Als je nu een naam intypt in het tekstvak en op enter drukt dan staat er in de adresbalk:
file:///C:/zoek_naam.htm?txtString=naam

Dus dat klopt niet! De knop werkt wel goed, als je daarop drukt dan zoekt hij gewoon op de pagina naar de desbetreffende naam en die selecteerd ie.

  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
Weet je zeker dat het niet aan je findInPage functie ligt ?

Verwijderd

Topicstarter
Ja want als ik <INPUT name=string onchange="n = 0;"> erbij zet dan werkt het wel allemaal maar dan heb ik 2 tekstvakken en dat is niet de bedoeling

  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
Zou je niet even je hele functie erbij kunnen posten ? Dan is de wat bredere samenhang van de aanroep en het scriptje zelf duidelijker, want zo kan ik er iig weinig mee :?

  • ^Mo^
  • Registratie: Januari 2001
  • Laatst online: 04-11-2025
Volgens mij wordt een form al gesubmit met enkel een keydown (net even getest ;)), dus dan wordt het form al gesubmit voordat het keyup event wordt uitgevoerd.
Je zou dus de keydown kunnen opvangen, of de submit kunnen tegenhouden (maar ik kan nu ook compleet onzin uitkramen ;))

"There are 10 kinds of people in the world, those who understand binary and those who don't" | Werkbak specs


Verwijderd

Topicstarter
bedankt _Mo_

'onKeyUp' heb ik verandert in 'onKeyDown' en nu werkt ie perfect!!

r0bert uiteraard ook bedankt !

  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
Ja, in dit geval zou het inderdaad op deze manier goek kunnen.

Ik zat zelf te denken, dat het onKeyUp moest zijn, omdat anders de laatste waarde (van de ingedrukte toets) nog niet bij de value geupdate zou zijn.. Maar omdat hier door de enter toets geen waarde toe wordt gevoegt aan het textveld zou je inderdaad onKeyDown moeten gebruiken..

Dom van mij, over het hoofd gezien :|
Pagina: 1