Enter toets blokkeren

Status
Niet open voor verdere reacties.

antonwas

Gebruiker
Lid geworden
11 nov 2006
Berichten
254
In het boek JavaScript de basis van Ton Haarmans staat het volgende script:

Code:
<form onsubmit="return false" action="">
<input type="text" />
<input type="button" value="Submit" onclick="this.form.submit()">

Dit scipt zorgt ervoor dat de enter toets geblokkeerd wordt. Het is maar heel kort maar ik heb er toch enkele vragen over:

1. Op regel 1 staat de waarde van het attribuut onsubmit: return false. Wat doen return false en return true nou eigenlijk?
2. Op regel 4 staat onclick="this.form.submit()": Wat doet this precies? (in fucties, in gewone script, in HTML elementen?) Wat doet het hele onclick atrribuut in dit voorbeeld?
3. Wat is hier het verschil tussen onsubmit en onclick?
4. Dit script blokkeert de enter toets, maar wat gebeurt er als je met de muis op de knop klikt?

Het zijn best wel veel vragen. Ik heb al in veel Tutorials gekeken, maar deze zijn vaak in het engels en vooral bij de uitleg van 'this' is dat best lastig. Zou iemand mij daarom iets in het Nederlands kunnen geven of heel duidelijk uitleggen (voorbeeldje of zo)

Alvast bedankt!

Anton
 
  1. onsubmit="return true" zorgt dat het formulier wordt doorgezonden, false blokkeert dat.
  2. onclick="this.form.submit()" zorgt dat het formulier (this.form[/i) wordt verzonden (submit()). In dit voorbeeld zorgt hij dus bij het klikken op die knop dat het formulier wordt verzonden.
    In dit voorbeeld de enige manier om het formulier te laten verzenden.
    In algemene zin wordt daar gewoon deze code voor gebruikt.
    HTML:
    <input type="submit" value="Verzenden" />
    [*]Tja het verschil, vertaal het naar het nederlands en het lijkt me duidelijk.
    [*]Het blokkeert niet echt de enter toets, het doet gewoon niets.


Met een alert() is het resultaat altijd wat meer meetbaar.
Dus, zelfde voorbeeld alleen een andere onsubmit.
HTML:
<form onsubmit="alert('Knopje gedrukt')" action="">
<input type="text" />
<input type="button" value="Submit" onclick="this.form.submit()">
</form>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan