Toon posts:

[Javascript] ** is niet gedefinieerd

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

Verwijderd

Topicstarter
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<td>
<div ID="subcatdiv"></div>
<script language="javascript">
<!--
 function subcat(id)
{
var output;

output = '<select name="">';
for (i=0; i<sub_cat.length; i++)
{
if(sub_cat[i][0] == id) { output += "<option>" + sub_cat[i][1]; 
}
}   
output += '</select>';
subcatdiv.innerHTML = output;
}

//--> 
</script>
</td>


Het bovenstaande stukje code geeft de fout " 'subcatdiv' is niet gedefinieerd ". Als ik de div onder <body> zet is de fout weg. Hoe komt dit ? [Btw die <td>'s zijn omdat het in een tabel zit]

  • André
  • Registratie: Maart 2002
  • Laatst online: 00:33

André

Analytics dude

Omdat al je webcontent tussen <body> en </body> moet staan. Basisregel.

Verwijderd

Topicstarter
Het staat in <body>

  • André
  • Registratie: Maart 2002
  • Laatst online: 00:33

André

Analytics dude

Jij zegt dat als je de div onder <body> zet de fout weg is?

Verwijderd

Topicstarter
Uhu daarmee bedoel ik :
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<body><table><tr><td>
<div ID="subcatdiv"></div>
<script language="javascript">
<!--
 function subcat(id)
{
var output;

output = '<select name="">';
for (i=0; i<sub_cat.length; i++)
{
if(sub_cat[i][0] == id) { output += "<option>" + sub_cat[i][1]; 
}
}   
output += '</select>';
subcatdiv.innerHTML = output;
}

//--> 
</script>
</td></tr></table></body>
Werkt niet


JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<body><div ID="subcatdiv"></div>
<table><tr><td>
<script language="javascript">
<!--
 function subcat(id)
{
var output;

output = '<select name="">';
for (i=0; i<sub_cat.length; i++)
{
if(sub_cat[i][0] == id) { output += "<option>" + sub_cat[i][1]; 
}
}   
output += '</select>';
subcatdiv.innerHTML = output;
}

//--> 
</script>
</td></tr></table></body>
Werkt wel

  • André
  • Registratie: Maart 2002
  • Laatst online: 00:33

André

Analytics dude

Maak van:

JavaScript:
1
subcatdiv.innerHTML = output;

JavaScript:
1
document.getElementById("subcatdiv").innerHTML = output;

[ Voor 6% gewijzigd door André op 07-05-2004 20:06 ]


Verwijderd

Topicstarter
zelfde fout =/

Hier is de hele code mocht het helpen :
JavaScript:
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title>Untitled</title>

<script language="javascript">
<!--
var cat=new Array('Hardware','Software');
var sub_cat=new Array();

sub_cat[0]=["0", "Geluidskaarten"];
sub_cat[1]=["0", "Videokaarten"];
sub_cat[2]=["1", "Windows"];
sub_cat[3]=["1", "Linux"];
sub_cat[4]=["1", "Mac"];

function change()
{}

function subcat(id)
{
var output;

output = '<select name="">';
for (i=0; i<sub_cat.length; i++)
{
if(sub_cat[i][0] == id) { output += "<option>" + sub_cat[i][1]; 
}
}   
output += '</select>';
subcatdiv.innerHTML = output;
}

//--> 
</script>
</head>

<body>
<table>
<tr>
       <td>Standaard</td>
       <td> - Titel : </td>
       <td><input name="" type="text" value="" size=40></td>
</tr>
<tr>
       <td></td>
       <td valign="top">- Text : </td>
       <td><textarea name="" rows=15 cols=30 ></textarea></td>
</tr>
<tr>
       <td>Categorie</td>
       <td>- Categorie :</td>
       <td>
       <select name="" onchange="cat()">
       <script language="javascript">
       <!--
           for (i=0; i<cat.length; i++)
           {
           document.write( "<option>" + cat[i] );
           }
           subcat(1);
       //--> 
       </script>
       </select>
       </td>
</tr>
<tr>
       <td></td>
       <td>- Sub Categorie</td>
       <td>
       <script language="javascript">
       <!--
       function subcat(id)
       {
       var output;

       output = '<select name="">';
       for (i=0; i<sub_cat.length; i++)
       {
       if(sub_cat[i][0] == id) { output += "<option>" + sub_cat[i][1]; 
       }
       }   
       output += '</select>';
       document.getElementById("subcatdiv").innerHTML = output;
       }

       //--> 
       </script>
       <div ID="subcatdiv"></div>
       </td>
</tr>
<tr>
       <td></td>
       <td></td>
       <td></td>
</tr>
</table>
</body>
</html>

[ Voor 99% gewijzigd door Verwijderd op 07-05-2004 20:11 ]


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Op het moment dat de functie subcat() wordt uitgevoerd 'bestaat' de div nog niet. Je zal dus het script later moeten laten uitvoeren of onload pas de functie uitvoeren.

p.s. Je declareert ook 2 maal dezelfde functie. Beetje zinloos.

Today's subliminal thought is:


Verwijderd

Topicstarter
ow ja natuurlijk 8)7 Thanks _/-\o_
(btw 2 keer zelfde functie was copy paste foutje :D)
Pagina: 1