[js] Focus doet het niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
Greetings,

ik heb een form en wil graag focus in het eerste veld

ik weet dat je dat doet met
JavaScript:
1
2
    var naam = document.getElementByID("naam");
    naam.focus();


ik zalf zelfs heel het stuk laten zien
JavaScript:
1
2
3
4
5
function start(){
    wissel();
    var naam = document.getElementByID("naam");
    naam.focus();
}

(wissel() verwijst naar een andere functie die uitgevoerd moet worden bij onload, niets te maken met het plaatsen van de cursor)
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
<body onload="start();">
<form name="ingeven" method="post" action="nieuweklantzoek.php" target="Onder">
<table width="100%">
    <tr>    
        <td>Naam:</td>
        <td><input type="text" name="naam" id="naam" size="20" maxlength="40"></td>
     
        <td>Adres:</td>
        <td><input type="text" name="adres" id="adres" size="20" maxlength="40"></td>
     </tr>
</table>
</form>

en wat ik ook probeer of verander ik krijg hem niet aan de praat...
iemand een idee?

grtz.

Just me


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 17-09 12:52
Naam en id hetzelfde is geen goed plan voor oudere IE's.

In welke browser gaat het fout?

Acties:
  • 0 Henk 'm!

  • MrTinux
  • Registratie: December 2000
  • Laatst online: 22:15

MrTinux

Terug van nooit weggeweest.

Is je code een exacte copy-paste?

Zo ja: in je JavaScript: document.getElementByID -> document.getElementById (kleine 'd' bij Id :))...

"Hij doet 't niet" = onvolledige informatie


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
het werkt niet in IE en FF, andere heb ik nog niet getest,

heb de id veranderd naar naam1 en de D ->d en nog steeds niets...

Just me


Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 05-09 21:08
In IE8 en FF3.5.3 werkt e.e.a. perfect hiero. Wel heb ik 'wissel();' verwijderd, omdat ik die functie niet ken.

Wat gebeurt er als je

JavaScript:
1
alert(naam); 


toevoegt?

Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
@ Rekcor
er gebeurt niets :s

Just me


Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 05-09 21:08
Wil je even al je code posten, dus ook die functie wissel(); die je aanroept?

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Als die alert het niet doet dan heb je elders gewoon een fout in je code zitten waarschijnlijk. Krijg je geen prachtig geel uitroepteken links onderin in beeld?

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 18:39

Matis

Rubber Rocket

Of gebruik firebug, zet een breakpoint in je script en stap er doorheen.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
PHP:
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?php
session_start();

if (!$_SESSION["valid_user"])
{
// User not logged in, redirect to login page
Header("Location: login.php");
}
include 'dropdown.php';
$waarde = checkonline();
if ($waarde != 1)
{
//admin heeft beslist dat er niet online kan gekomen worden
include 'Werken.php';
exit();
}
?><html>
<head><title>Nieuwe klant</title>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
function wissel(){
    var wat = document.forms['ingeven'].elements['welke'].value;
    knopke = document.getElementById("knopkes");
    obj1 = document.getElementById("Standaard");
    obj2 = document.getElementById("Infosessie Vandaag");

    if (wat == ''){
        knopke.style.display = "none";
        obj1.style.display = "none";
        obj2.style.display = "none";
    }
    if (wat == 'Standaard'){
        knopke.style.display = "";
        obj1.style.display = "";
        obj2.style.display = "none";
        
    }
    if (wat == 'Infosessie Vandaag'){
        knopke.style.display = "";
        obj1.style.display = "none";
        obj2.style.display = "";
    }
    
}
function start(){
    wissel();
    var naam = document.getElementById("naam1");
    naam.focus();
    alert(naam);
}

</script>
</head>
<body onload="start();">
<form name="ingeven" method="post" action="nieuweklantzoek.php" target="Onder">
<div id="zoek">Filter:
    <select name="welke" id="welke" onchange="wissel()" >
    <option value=""></option>
    <?
    foreach ($ar_zoek as $value){
        if ($value == 'Standaard'){
            print '<option selected value="'.$value.'">'.$value.'</option>';
        }
        else{
            print '<option value="'.$value.'">'.$value.'</option>';
        }
    }
    ?>
    </select>
    
    <!--<input type="submit" value="Filteren">-->
</div>
<!--Standaard filter-->
<div id="Standaard" style="display: ;">
<table width="100%">
    <tr>    
        <td>Naam:</td>
        <td><input type="text" name="naam" id="naam1" size="20" maxlength="40"></td>
     
        <td>Adres:</td>
        <td><input type="text" name="adres" size="20" maxlength="40"></td>
    </tr>
</table>
</div>
<!--Filter voor het opzoeken van mensen die vandaag naar de infoavond komen-->
<div id="Infosessie Vandaag" style="display: none;">
<table width="50%">
    <tr>    
        <td>Datum Infosessie: <?print date("Y-m-d");?></td>
        <td><input type="hidden" name="datinfo" value="<?print date("Y-m-d");?>"></td>
     
        <td>Sessie:</td>
        <td><select name="sessie" id="sessie" onchange="wissel()">
            <option value=""></option>
            <?
            foreach ($ar_wan as $value){
                print '<option value="'.$value.'">'.$value.'</option>';
            }
            ?>
            </select>
        </td>
    </tr>
</table>
</div>

<div id="knopkes" style="display: none;">
<table width="20%">
    <tr>
        <td><input type="submit" value="zoeken"></td>
        <td><input type="reset" value="reset"></td>
    </tr>
</table>
</div>
</form>
<IMG SRC="greenbar.jpg">
</body>


</html>


Dit is ze zo ongeveer.

Just me


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 18:39

Matis

Rubber Rocket

waarom 3 keer if gebruikt?

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    if (wat == 'Standaard'){
        knopke.style.display = "";
        obj1.style.display = "";
        obj2.style.display = "none";
        
    }
    else if (wat == 'Infosessie Vandaag'){
        knopke.style.display = "";
        obj1.style.display = "none";
        obj2.style.display = "";
    } 
    else {
        knopke.style.display = "none";
        obj1.style.display = "none";
        obj2.style.display = "none";
    }

zijn iig netter en je weet ik dat geval altijd zeker dat hij in één van de statements komt!

ps. ik heb het niet getest, maar dat lijkt me netter :P

[ Voor 4% gewijzigd door Matis op 04-12-2009 14:49 ]

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
Matis schreef op vrijdag 04 december 2009 @ 14:49:
waarom 3 keer if gebruikt?

JavaScript:
1

zijn iig netter en je weet ik dat geval altijd zeker dat hij in één van de statements komt!

ps. ik heb het niet getest, maar dat lijkt me netter :P
Daar heb je een punt :p, gewoonweg niet aan gedacht

Just me


Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 05-09 21:08
Bij mij werkt e.e.a. gewoon.

Het is trouwens netter om <?php te gebruiken ipv <?

Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
tja het zou moeten werken, maar bij mij doet het dat dus niet.

Just me


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 17-09 12:52
En als je javascript weer aan zet in je browser?

Even serieus, wat gebeurt er met een simpele testcase als dit:

HTML:
1
2
3
4
5
6
7
8
9
<!DOCTYPE html>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript"> 
onload = function() { 
    document.getElementById('blaat').focus(); 
} 
</script> 
<input type="text" id="blaat">


Er is namelijk verder niks mis met je code, tenzij je PHP rare dingen output en daardoor de scripts niet meer werken, maar dat kunnen wij niet zien natuurlijk, dat kun je zelf debuggen.

[ Voor 103% gewijzigd door Bosmonster op 04-12-2009 15:38 . Reden: nog simpeler voorbeeld :+ ]


Acties:
  • 0 Henk 'm!

  • Dorgaldir
  • Registratie: September 2009
  • Laatst online: 10-04 22:52

Dorgaldir

Creature of the web

Topicstarter
Ik heb met firebug nog wat aan het debuggen geweest en nu heb ik de oplossing gevonden
ergens nog een klein typ foutje dat ervoor zorgde dat mijn js niet uitgevoerd werd.

Just me


Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Wat heb je dus geleerd? Eerst beginnen met zelf debuggen ;)

Gelukkig is het probleem iig opgelost :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.

Pagina: 1