[JS] formulier submitten op key13/enter

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • himlims_
  • Registratie: Juni 2000
  • Niet online

himlims_

🐧 Linux HOoligan

Topicstarter
Ik ben een leek als 't gaat om JavaScript, nu heb ik een formulier gemaakt maar deze submit niet wanneer op op [ enter ] druk, klik ik op de submit knop gaat het goed.

Via google heb ik de nodige 'oplossingen' gevonden, maar dit wil nog niet hard werken.

JavaScript:
1
onkeypress="if (event.keyCode == 13) {this.form.submit();}


en het volgende stukje wordt regelmatig voorgedragen
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type="text/javascript">
<!--
function submitenter(myfield,e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;
if (keycode == 13)
{
document.chat_form.submit();
return false;
}
else
return true;
}
//-->
</script>


Mijn 'pagina' is opgebouwd uit een invoer vak, gevolgd door een submit knop. Daaronder staan 2 'transperante' invoervakken die een waarde berekenen adhv het ingegeven getal.
Dat werkt haarfijn, mits ik klik op de knop. Voor de gebruiker is het wel zo makkelijk als deze ook op enter kan slaan. Hoe doe ik dit?

⭐Game Profiles: 🕹️Steam - 🎮PSN - 🇪🇦 GoT_Hollandhards


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Waar hoort mijn topic?
PRG >> WEB

En laat het formulier (uitgekleed wanneer nodig tot de relevante noodzakelijke zaken) eens zien in HTML vorm? Want je hebt helemaal geen JS nodig als je gewoon een <input type="submit" ...> hebt.

[ Voor 50% gewijzigd door RobIII op 29-04-2009 15:50 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • himlims_
  • Registratie: Juni 2000
  • Niet online

himlims_

🐧 Linux HOoligan

Topicstarter
onder de <head> tag heb ik staan:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
<script language="JavaScript"> 
<!-- 
function rekenen1(){ 
var box1=document.rekenen.box1.value; 
var box3=27.50;

document.getElementById('bijConcurrent').innerHTML=(37.40*box1).toFixed(2);
document.getElementById('bijOns').innerHTML=(27.50*box1).toFixed(2);
document.getElementById('totaal').innerHTML=((''+(box1*37.40)-(box1*27.50))*2).toFixed(2);;
}
--> 
</script>


formulier is alsvolgd opgebouwd:
HTML:
1
2
3
4
5
6
<form name="rekenen">
            <input name="box1" type="text" value="opslag" onFocus="if(this.value=='opslag')this.value='';" onBlur="if(this.value=='')this.value='opslag';">
            <input name="uitrekenen" onclick="rekenen1()" value="Bereken uw besparing! *" type="button">
              <td><span STYLE="font-size: 35px; font-family: sans-serif; color: #00000; "  id="bijOns"><div>0,00</div></span></td>
              <td><span STYLE="font-size: 50px; font-family: sans-serif; color: #00000; "  id="totaal"><div>0,00</div></span></td>
          </form>


ik weet dat het niet de schoonheidsprijs verdiend, als 't maar werkt :+

⭐Game Profiles: 🕹️Steam - 🎮PSN - 🇪🇦 GoT_Hollandhards


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Je hebt nu een input type="button".... ;) En lees nu deze reply nog eens ;)

[ Voor 54% gewijzigd door RobIII op 29-04-2009 15:55 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • himlims_
  • Registratie: Juni 2000
  • Niet online

himlims_

🐧 Linux HOoligan

Topicstarter
ik heb dit ook dmv een submit gedaan, echter wanneer de knop op die manier is opgebouwd vervalt de werking van het formulier.

⭐Game Profiles: 🕹️Steam - 🎮PSN - 🇪🇦 GoT_Hollandhards


Acties:
  • 0 Henk 'm!

  • TheTransporter
  • Registratie: Oktober 2003
  • Laatst online: 19:51
Als je de onclick verandert in onsubmit en dan in je functie rekenen1() als laatste return false; doet dan zal die de pagina niet submitten en werkt je script wel. Dan moet type wel submit zijn in plaats van button

[ Voor 16% gewijzigd door TheTransporter op 29-04-2009 16:47 . Reden: snel uit mijn hoofd niet getest ]


Acties:
  • 0 Henk 'm!

  • himlims_
  • Registratie: Juni 2000
  • Niet online

himlims_

🐧 Linux HOoligan

Topicstarter
ik heb de onclick vervangen voor onsubmit, submit ipv button, maar als ik dat doe werkt het formulier niet meer...

⭐Game Profiles: 🕹️Steam - 🎮PSN - 🇪🇦 GoT_Hollandhards


Acties:
  • 0 Henk 'm!

  • TheTransporter
  • Registratie: Oktober 2003
  • Laatst online: 19:51
en ook je functie aangepast?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
himlims_ schreef op woensdag 29 april 2009 @ 16:59:
maar als ik dat doe werkt het formulier niet meer.
Komaan. Wat werkt er dan niet? Krijg je een foutmelding? Heb je al gedebugged? Iets? "Werkt niet" is zo'n vaag iets waar we niets mee kunnen.

Post je huidige code eens?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 05-09 14:39

_Thanatos_

Ja, en kaal

Een van de fouten is alvast dat het action-attribuut mist. Ik kan me heel goed voorstellen dat de browser dan niet weet waar ie het form heen moet sturen. Kun je de browser ook niet kwalijk nemen :)

日本!🎌

Pagina: 1