Avatar billede Slettet bruger
28. juni 2010 - 19:43 Der er 13 kommentarer og
1 løsning

Form med 2 submitbuttons - hvilken knap submitter med ENTER

Jeg har en form (forenklet):

<form>
  <input size="45" type="text" name="felt1" value="">
  <input size="45" type="text" name="felt2" value="">
  <input size="45" type="text" name="felt3" value="">
  <input size="45" type="text" name="felt4" value="">
  <input type="submit" name="knap1" value="Knap1">
  <input type="submit" name="knap2" value="Knap2">
</form>

Hvis jeg står i et af input-felterne og trykker enter, vil jeg gerne bestemme hvilken knap der submitter.

Hvordan gør jeg det?

Det er ikke en option at disable enter, idet brugeren skal have mulighed for at bruge enter i felterne.
Avatar billede majbom Novice
28. juni 2010 - 19:50 #1
så afhængigt af i hvilket felt man står skal det være den ene eller anden submit knap der bruges?

må man spørge hvorfor? kunne være der fandtes en anden løsning :)
Avatar billede Slettet bruger
29. juni 2010 - 07:38 #2
Det er samme submitknap der skal bruges, uanset hvilket felt man står i.

Grunden til der er flere submit-knapper, er at man både kan bladre frem og tilbage og submitte i formen.

Dette er opbygget således af kodningsmæssige årsager.
Avatar billede majbom Novice
29. juni 2010 - 20:06 #3
kan du ikke nøjes med at lave den ene som submit-knap og den anden som en button, hvor onclick sættes til at submitte formen?
Avatar billede Slettet bruger
29. juni 2010 - 21:44 #4
Jeg har prøvet med onclick="submit()", hvilket fungerer når der trykkes ENTER.

Når jeg trykke på selve knappen virker den ikke som den skal. Mit script fanger kun submitknappen er trykket og ikke min button.
Avatar billede majbom Novice
29. juni 2010 - 21:55 #5
prøv med:

onclick="this.form.submit()"
Avatar billede Slettet bruger
30. juni 2010 - 07:44 #6
Samme problem.
Avatar billede majbom Novice
30. juni 2010 - 08:13 #7
er din button inde i formen? altså inden for <form> og </form>?
Avatar billede Slettet bruger
30. juni 2010 - 10:05 #8
Ja, det er den.

Her er min originale opbygning af formen, renset for unødvendig formattering:

<form name="log" action="log.php" method="post">
  <table>
    <tr>
      <td>Side <input type="submit" name="page_back" value="<" DISABLED> <input size="2" type="text" name="page" value="1"> <input type="submit" name="page_forward" value=">"> ud af 7 side(r)</td>
      <td><input type="submit" name="reset_filter" value="Nulstil filter"><input type="submit" name="search" value="Søg"></td>
    </tr>
  </table>
  <table border="1" cellpadding="3" cellspacing="0">
    <tr>
      <th>Type</th>
      <th>Indhold</th>
      <th>Navn</th>
      <th>Id</th>
    </tr>
    <tr>
      <td><select name="type"><option selected value="none"> </option><option value="LOGIN">LOGIN</option></select></td>
      <td><input size="45" type="text" name="log_data" value=""></td>
      <td><select name="user_name"><option selected value="none"> </option><option value="id0">Admin</option><option value="id2">User</option></select></td>
      <td><select name="admin_id"><option selected value="none"> </option><option value="id0">0</option><option value="id2">2</option></select></td>
    </tr>
    <tr>
      <td>LOGIN</th>
      <td>User successful logged in.</th>
      <td>Admin</th>
      <td>0</th>
    </tr>
    <tr>
      <td>LOGIN</th>
      <td>Login failed. Wrong username or password.</th>
      <td>Admin</th>
      <td>n/a</th>
    </tr>
    <tr>
      <td>LOGIN</th>
      <td>Login failed. Wrong username or password.</th>
      <td>Admin</th>
      <td>n/a</th>
    </tr>
  </table>
</form>

Det vil være meget bøvlet for mig at flytte knapperne udenfor formen, idet min bagvedliggende opbygning af filtreringsfunktionen vil skulle laves om.

PS: Hvordan får du din kode i en boks?
Avatar billede majbom Novice
30. juni 2010 - 12:01 #9
ENTER virker ikke, hvis en submit-knap er DISABLED...

http://www.eksperten.dk/guide/1325
Avatar billede Slettet bruger
30. juni 2010 - 12:35 #10
Nej, det er jeg godt klar over.

Det er heller ikke det der er problemet.

Man skal selvfølgelig ikke kunne bladre tilbage når man er på side 1.

Problemet er at den første aktive submit-knap bliver valgt når man ændrer sidetallet og trykket på ENTER.
Avatar billede majbom Novice
30. juni 2010 - 18:05 #11
ja, det var derfor du skulle bruge onclick på de submit knapper der IKKE skulle aktiveres ved ENTER
Avatar billede Slettet bruger
30. juni 2010 - 20:52 #12
Det prøvede jeg også.

Ved ENTER virkede det som det skulle.

Ved tryk på frem- eller tilbageknappen kunne jeg ikke tracke hvilken knap der var blevet trykket på.

Anyway, efter et have læst oceaner af websider omkring lige netop denne problemstilling, samt de forskellige browsers opførsel ved tryk på ENTER, har jeg bidt i det sure æble og ændret i min opbygning, således at den knap der skal submitte ved ENTER er først i min form.

splazz...> Du får alle (wauv 15 point) for deltagelse i tråden.
Avatar billede majbom Novice
30. juni 2010 - 20:59 #13
okay, bare i orden...
Avatar billede majbom Novice
30. juni 2010 - 21:12 #14
tfp :)
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