Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Textfield posten zonder pagina refresh

Pagina: 1
Acties:

  • MrDummy
  • Registratie: April 2000
  • Laatst online: 25-07 12:00

MrDummy

Nog steeds gek op anime...

Topicstarter
Met een proefmodel ajax chat pagina om uit te zoeken hoe het zit met doorvoeren van teksten in textfield, eigenlijk <input type=text ... > veld.

Ik heb geprobeerd met <form ... onSubmit="checkform()"> maar het gaat hierdoor pagina opnieuw laden en dat moet niet.

dus heb ik <form> weggehaald en doet het met document.onkeypress=checkkey; in het begin van script. Dat lijkt te werken. Ik let op Enter (code 13) en tot dusver gaat het goed.
De vraag is alleen of het wel elke Enter aanslag kan registeren en er kans bestaat op de delay / tekst overslaan als het niet goed pakt.

En hoe goed werkt <form> veld op Enter, maar welke goede trucs zijn er om pagina herladen te vermijden?

Ik maak nu gebruik van document.onkeypess methode.
Als je test pagina graag wil zien, zal ik dan even hier posten voor controle? Hij is al operationeel en online.

  • Martin?81
  • Registratie: Februari 2002
  • Laatst online: 19-11 21:51

Martin?81

Honda CBR600RR 2004

Onblur gebruiken?

  • Comgenie
  • Registratie: Oktober 2005
  • Laatst online: 15:28

Comgenie

Soms heb je dat

je kan de onSubmit gebruiken, je moet alleen wel dan daarachter ; return false doen. Dan gaat de pagina niet refreshen.
<form ... onSubmit="checkform(); return false"> dit dus

[ Voor 19% gewijzigd door Comgenie op 16-03-2008 00:29 ]

No animals were harmed in the making of this comment.


  • gvanh
  • Registratie: April 2003
  • Laatst online: 02-12-2023

gvanh

Webdeveloper

Comgenie schreef op zondag 16 maart 2008 @ 00:29:
je kan de onSubmit gebruiken, je moet alleen wel dan daarachter ; return false doen. Dan gaat de pagina niet refreshen.
<form ... onSubmit="checkform(); return false"> dit dus
Helemaal correct is het als volgt:
HTML:
1
2
3
<form .... onsubmit='return checkform(event)'>
   ...
</form>


JavaScript:
1
2
3
4
5
6
function checkform(e) {
  // controles en andere code.
  if ( !e ) e = window.event; // for Explorer
  if ( e && e.preventDefault ) e.preventDefault(); // prevent default action for standard-compliant browsers
  return false; // prevent default action for Internet Explorer.
}


Nog mooier zou zijn als je de event listener (onsubmit=' ...') niet "inline" - dus in de HTML code - maar na het laden van de pagina middels JavaScript aan het form-element hangt.

  • MrDummy
  • Registratie: April 2000
  • Laatst online: 25-07 12:00

MrDummy

Nog steeds gek op anime...

Topicstarter
En de meest minimale om form deel te werken blijkt deze te zijn:
HTML:
1
2
3
<form method="post" onsubmit="checkform(event)">
....
</form>


Daar reageert de Enter toetsaanslag wel op. Of heb je leuke of betere korte versie in gedachten, waar Enter ook op functioneert? Misschien zou ik action deel ook moeten toevoegen?