Ik ben bezig met een simpel javascriptje die mootools gebruikt waarbij je een race en daarna een class kan kiezen;
In mijn html zit een dropdown met het id input_raceoptions, zodra ik in Firefox een andere keuze kies in deze dropdown krijg ik in Firebug de volgende fout:
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
| window.addEvent('domready', function(){ var container = $('container'); var title = $('title'); var settings = $('settings'); var info = $('info'); var racedata = ''; var classdata = ''; var raceoptions = ''; var classoptions = ''; function fillDropDown(data, dropdown) { var dropdown = $(dropdown); dropdown.empty(); data.each(function(thisdata) { var option = new Element('option'); option.setProperty("value", thisdata.value); option.setHTML(thisdata.text); dropdown.adopt(option); }); }; function step1() { if (racedata == '') { new Json.Remote('ajax/character.php?action=getraces', { onComplete: function(jsonObj) { if (jsonObj.error) { alert('An error has occured: ' + jsonObj.error); } else if (jsonObj.races) { racedata = jsonObj.races; step1(); }; }, onFailure: function() { alert('Something went wrong'); } }).send(); } else if (classdata == '') { new Json.Remote('ajax/character.php?action=getclasses', { onComplete: function(jsonObj) { if (jsonObj.error) { alert('An error has occured: ' + jsonObj.error); } else if (jsonObj.classes) { classdata = jsonObj.classes; step1(); }; }, onFailure: function() { alert('Something went wrong'); } }).send(); } else { fillDropDown(racedata, 'input_raceoptions'); $('input_raceoptions').setProperty('onchange', "fillDropDown(classdata[this], 'input_classoptions')"); } }; step1(); }); |
In mijn html zit een dropdown met het id input_raceoptions, zodra ik in Firefox een andere keuze kies in deze dropdown krijg ik in Firebug de volgende fout:
Verander ik op regel 54 de onchange naar this.filDropDown() kan de functie gevonden worden maar krijg ik de errorfillDropDown is not defined
Verander ik tenslotte op regel 54 classdata naar this.classdata, krijg ik de errorclassdata is not defined
Ik heb ook geprobeerd de functies en de variabelen buiten de ondomready te zetten maar dan kan de functie fillDropDown de variabelen niet vinden... Volgens mij doe ik iets gronisch fout met globals / scopes oid...this.classdata has no properties
[ Voor 6% gewijzigd door _eXistenZ_ op 05-05-2008 21:27 ]
There is no replacement for displacement!