Toon posts:

Cursor in eerste tekstveld van form

Pagina: 1
Acties:
  • 128 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een webform op mijn site. Nu wil ik dat als de pagina geladen wordt, dat in het eerste tekstveld de cursor reeds staat te knipperen zodat de gebruiker direct kan typen. Ook wil ik dat als de gebruiker klaar is met invullen, hij op [ENTER] kan klikken. Veel gebruikers doen dit namelijk i.p.v. op de verstuur-knop te klikken. Bij hotmail kan dit en staat ook het cursortje te knipperen in het eerste veld. Ik heb niet kunnen vinden in de view source hoe ze dat doen...

Verwijderd

code:
1
<body onload="document.formnaam.veldnaam.focus();">

En een submit button kun je eventueel weglaten.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Enter knunen drukken is automatisch als je gewoon een submit knop gebruikt. (<input type=submit>). Deze maakt ie automatisch default zodra je een van de form-elementen selecteert.

Het andere is ook vrij makkelijk. In de onload event van je <body> (zodat je zeker weet dat het geen foutmeldingen gaat veroorzaken) zet je "document.formnaam.elementnaam.focus()".

Tada!

Verwijderd

Topicstarter
Ik heb de code in <body> gestopt. Ik heb de namen aangepast. Als ik de pagina laad, zie ik toch geen cursor in het vakje. En als ik enter doe na het invullen, gebeurt er niets.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

post je code eens, of een linkje

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<html>
<body onload="document.ghx3455.Verzenden.focus();" bgcolor="#FFFFFF">
<center>
<table height="100%" border="0">
   <tr height="100%">
     <td valign="middle"><form name="ghx3455" method="post" onsubmit='return false'>
<p align="center">
<input type="password" name="classified" />
<input type="submit" onclick='redirect(geheim.value)' value="Verzenden" name="Verzenden" />
</form>
</td>
   </tr>
</table>
</center>
</body>
</html>

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

je schakelt zelf je <enter> functie uit met je onsubmit="return false" en je onclick="redirect()" shit.

De focus moet ook niet op de submitknop, maar op de password-input field..

Verwijderd

Topicstarter
OK, dus de onsubmit="return false" en onclick="redirect()" verwijderen uit de code en moet ik ook nog iets doen met de password-input field?

Verwijderd

Topicstarter
Ik heb die twee eruit gehaald, maar krijg 1. nog steeds geen cursor in het vakje, 2. de volgende melding als ik op <ENTER> druk of klik op verzenden :The requested method POST is not allowed for the URL.

Verwijderd

Topicstarter
Op dinsdag 26 februari 2002 11:54 schreef fredbuskirk het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<html>
<body onload="document.ghx3455.Verzenden.focus();" bgcolor="#FFFFFF">
<center>
<table height="100%" border="0">
   <tr height="100%">
     <td valign="middle"><form name="ghx3455" method="post" onsubmit='return false'>
<p align="center">
<input type="password" name="classified" />
<input type="submit" onclick='redirect(geheim.value)' value="Verzenden" name="Verzenden" />
</form>
</td>
   </tr>
</table>
</center>
</body>
</html>
Misschien moet ik ook nog iets ipv "document" invullen. Ik heb nu
code:
1
<body onload="document.ghx3455.Verzenden.focus();" bgcolor="#FFFFFF">

, waarin ik formname en inputname hebt vervangen door hun echte naam, da's heel goed. Maar misschien moet ik document ook nog door iets vervangen?? Zo moeilijk kan het toch niet zijn???

Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
</head>
<body onload="document.ghx3455.geheim.focus();">
<center>
<table height="100%" border="0">
   <tr height="100%">
     <td valign="middle">
<form name="formpje" method="post" onsubmit='return false'>
<input type="password" name="geheim" />
<input type="submit" value="Verzenden" onclick='redirect(geheim.value)' />
</form>

Je moet 'geheim' invullen ipv van Verzenden. Verzenden is de value, geheim is de name. En daar gaat het om. Dus name ipv value.

Verwijderd

Topicstarter
Het werkt. Bedankt :)

Alleen, hoe kan ik veranderen dat je het intypen van een woord in het tekstveld met [enter] kan afsluiten? Dat kan nu nog niet. Je zou denken dat het aan het regeltje onsubmit='return false' ligt, maar als ik dat weghaal, kan ik niets meer doen. D.w.z. als ik dan een password invoer, en op verzenden klik, krijg ik een error-scherm. Laat staan met een [enter]. Hoe zit dat nou?

Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<head>
<script language="JavaScript1.2"><!--
function netscapeKeyPress(e) {
     if (e.which == 13)
       document.testForm.submit();
}

function microsoftKeyPress() {
    if (window.event.keyCode == 13)
       document.testForm.submit();
}

if (navigator.appName == 'Netscape') {
    window.captureEvents(Event.KEYPRESS);
    window.onKeyPress = netscapeKeyPress;
}
//--></script>

</head>

Zet dit in je <head>, vervang testForm door jouw formname.
code:
1
<body onKeyPress="microsoftKeyPress()">

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Geen idee wat het dan moet doen als je op enter drukt.

Maak er eens gewoon dit van:
code:
1
2
3
4
<form name="formpje" method="post" onsubmit="redirect(this.geheim.value)">
<input type="password" name="geheim">
<input type="submit" value="Verzenden">
</form>

Wedden dat de <enter> gewoon werkt?

Verwijderd

Topicstarter
Hoe graag ik het ook zou willen, maar het werkt niet. Het enige wat hij slikt, is onsubmit='return false'. Het is om gek van te worden. |:(

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

oops.. mijn bovenstaande code, maar adn znoder de method="post".

die hoort er niet in.. (had je zelf ook wel kunnen proberen)

En nou niet zeiken dat ie het niet doet, want ik probeer het net zelf en alles werkt.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

OW.. dan ga ik er wel even vanuit dat je de redirect() functie hebt die werkt.. en dat je weet dat de <enter> truc niet werkt in NS4 (maar who cares, die mensen zijn gewend te moeten klikken op de submitknop).

Verwijderd

Topicstarter
Je mag het zeiken vinden, maar ik geef het gewoon niet op. Ik gebruik geen NS, gewoon IE 5.5 en als ik method='post' eruit haal, verdwijnt het net ingetypte woord als ik op <enter> druk. Sorry, maar ik snap echt niet hoe het bij jou wel kan werken. Ligt het er misschien aan dat die password check, die hij doet in een .js bestand, niet kan werken met <enter>?

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 13-09 09:53

RM-rf

1 2 3 4 5 7 6 8 9

Op vrijdag 01 maart 2002 12:13 schreef fredbuskirk het volgende:
Je mag het zeiken vinden, maar ik geef het gewoon niet op. Ik gebruik geen NS, gewoon IE 5.5 en als ik method='post' eruit haal, verdwijnt het net ingetypte woord als ik op <enter> druk. Sorry, maar ik snap echt niet hoe het bij jou wel kan werken. Ligt het er misschien aan dat die password check, die hij doet in een .js bestand, niet kan werken met <enter>?
zodra je een form submit wordt het password veld geleegd, uit veiligheidsoogpunt, als de pagina dan uit de cache wordt gehaald (bv. via iemand anders die de history bekijkt) kan hij het form niet alsnog submitten zonder password te weten.

verder meen ik dat je met javascript niet de waarde van het password veld kan opvragen, ik dacht dat je wel een ==-vergelijking kan maken echter geen document.form.passwordinput.value toewijzen aan variabele (maar dat moet je maar even checken)

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<html>
<head>
<script type="text/javascript">
function redirect(pw){
    top.location.href = "http://www." + pw + ".com";
    return false;
}
</script>
</head>
<body>
<form onsubmit="return redirect(this.pw.value);">
<input type=password name="pw">
<input type=submit value="Submit">
</form>
</body>
</html>

Deze code werkt bij mij.
verder meen ik dat je met javascript niet de waarde van het password veld kan opvragen, ik dacht dat je wel een ==-vergelijking kan maken echter geen document.form.passwordinput.value toewijzen aan variabele (maar dat moet je maar even checken)
Passwords opvragen is geen probleem ;)
Pagina: 1