Avatar billede dennism Nybegynder
17. januar 2005 - 21:36 Der er 7 kommentarer og
1 løsning

JavaScript: submit form

Hvis jeg f.eks. har en form ved navn "login", hvordan kan jeg så lave sådan der ved siden af formen står "Log ind", og når der så trykkes på teksten så bliver formen submited?
Avatar billede softspot Forsker
17. januar 2005 - 21:47 #1
Du kan kalde submit-funktionen på formularen (f.eks. frm.submit()).

Du kan også benytte kontrollen (knap) input af typen submit til samme formål:

<form id="frm" name="frm" method="post" action="login.asp">
  <input type="text" name="brugernavn">
  <input type="password" name="adgangskode">
  <input type="submit" value="Log på">
</form>

input type="submit" sørger for at poste formularen til den side du har angivet i action når knappen bliver trykket.
Avatar billede dennism Nybegynder
17. januar 2005 - 21:48 #2
Hvordan simulerer jeg et klip på submit-knappen?
Avatar billede softspot Forsker
17. januar 2005 - 21:52 #3
<form id="frm" name="frm" method="post" action="login.asp">
  <input type="text" name="brugernavn">
  <input type="password" name="adgangskode">
  <a href="java script: frm.submit()">Log på</a>
</form>
Avatar billede dennism Nybegynder
17. januar 2005 - 22:02 #4
Smider du et svar?
Avatar billede softspot Forsker
17. januar 2005 - 22:17 #5
Der! :)
Avatar billede roenving Novice
17. januar 2005 - 23:26 #6
-- det skal dog tilføjes, at softspots eksempel med et a-tag forudsætter, at browseren kender document.all, hvilket kun Opera og IE gør, så de mennesker, som kommer med en anden browser vil bare få en javascript-fejl ...

Til gengæld kan man jo style submit-knappen, så den stort set ligner en almindelig tekst/link:

<input type="submit" value="Log på" style="border:0;background:white;margin:0;padding:0;cursor:pointer;">
Avatar billede olebole Juniormester
18. januar 2005 - 00:46 #7
<ole>

... og der er såmænd heller ikke nogen grund til at (mis)bruge JavaScript pseudo-protokollen, når nu HTML er udstyret med event-handlers, der udelukkende er beregnet til afvikling af JS:

<form id="frm" name="frm" method="post" action="login.asp">
  <input type="text" name="brugernavn">
  <input type="password" name="adgangskode">
  <a href="#" onclick="document.getElementById('frm').submit()">Log på</a>
</form>

En væsentlig baggdel ved at bruge et link - fremfor roenvings metode - er dog, at formens onsubmit-event ikke fyres af, når formen submittes via JS.

/mvh
</bole>
Avatar billede olebole Juniormester
18. januar 2005 - 00:48 #8
... og så naturligvis returnere false på handleren:
  <a href="#" onclick="document.getElementById('frm').submit();return false">Log på</a>
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