Toon posts:

[js] focus verplaatsen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Weet iemand of er een naam is voor het invullen van een formulier waarbij je na een aantal tekens ingevoerd te hebben. De focus automatisch op het volgende veld gezet wordt.

Zodat ik verder kan zoeken.

Of weet iemand de oplossing voor dit probleem?

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 09:52

Pelle

🚴‍♂️

Met een onChange een functie aanroepen die het aantal characters telt, en indien hoger dan x de focus naar het volgende veld verplaatst.

Verwijderd

Topicstarter
hoe kan je bepalen of x bereikt is zonder te submitten?

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 09:52

Pelle

🚴‍♂️

code:
1
<input type="text" onChange="calcChars(this);">

En dan schrijf je een javascript functie calcChars die kijkt naar de length van de value van het meegestuurde object.

Verwijderd

Topicstarter
<script type="text/javascript">
function calcChars()
{
var aantal = value;
var max = 3;

if (aantal.length = max)
{
focus(verkoop_id_maand)
}
}
</script>

Dat value moet waarschijnlijk anders.

  • Blaise
  • Registratie: Juni 2001
  • Niet online
if (aantal.length = max)
In ieder geval 1 fout: "=" moet "==" zijn.

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 09:52

Pelle

🚴‍♂️

Volgens mij heb je geen flauw idee waar je het over hebt :)
Ga hier eens kijken: http://www.w3schools.com/js/js_form.asp

Verwijderd

Topicstarter
kom ik net vandaan.
en heb nu dit:
function calcChars()
{
x=document.verkoop
input=x.verkoop_id_jaar.value
if (input.length == 2){

document.forms[0].verkoop_id_maand.focus()
}

Hij herkent alleen de veldnamen niet.? verkoop_id_jaar verkoop_id_maand

Verwijderd

Topicstarter
Voor de liefhebber: het werkt!

function schuifdoor(elmnt,content)
{
if (content.length==elmnt.maxLength)
{
next=elmnt.tabIndex
if (next<document.forms[0].elements.length)
{
document.forms[0].elements[next].focus()
}
}
}

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Probeer eens iets in deze trend:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>AutoTab</title>
    <script language="JavaScript">
        function autoTab(lIndex, lLen) {
            if (frmEntries.txtField[lIndex].value.length>=lLen) {
                lIndex++; if (lIndex>=frmEntries.txtField.length) lIndex=0;
                frmEntries.txtField[lIndex].selecta();
            }
        }
    </script>
</head>

<body>
    <form name="frmEntries">
        <table cellpadding="0" cellspacing="0" border="0">
            <tr>
                <td>Naam</td>
                <td>:</td>
                <td><input type="text" name="txtField" value="" onkeypress="autoTab(0,8);"></td>
            </tr>
            <tr>
                <td>Adres</td>
                <td>:</td>
                <td><input type="text" name="txtField" value="" onkeypress="autoTab(1,15);"></td>
            </tr>
            <tr>
                <td>Postcode</td>
                <td>:</td>
                <td><input type="text" name="txtField" value="" onkeypress="autoTab(2,15);"></td>
            </tr>
        </table>
    </form>
</body>
</html>


[edit]
G-B was me voor, en het is nog mooier (op het eerste oog) dan de mijne ook ;)

* RobIII wou het niet voorkauwen....

[ Voor 113% gewijzigd door RobIII op 16-05-2003 12:17 ]

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


  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
"next" (zie G-Bs laatste post), lijkt me trouwens wel gereserveerd.. :?

[ Voor 23% gewijzigd door r0bert op 16-05-2003 14:52 ]


Verwijderd

"next" staat hier niet bij: http://webreference.com/p...ipt/jsdesign/chap2/4.html ...

[ Voor 4% gewijzigd door Verwijderd op 16-05-2003 14:57 ]

Pagina: 1