abonnement Unibet Coolblue Bitvavo
pi_38643658


De (voorlopige) OP van de [Javascript] voor dummies reeks.
Hier kan je alle vragen stellen over Javascript en alles wat er mee te maken heeft.

Heb je een probleem, post dan ook even de code waar het probleem zit Zo kunnen we je beter proberen te helpen.

Vorige delen:
[Javascript] voor dummies - Deel 1
[Javascript] voor dummies - Deel 2
[Javascript] voor dummies - deel 3
[Javascript] voor dummies - deel 4

Handige links:
Quircksmode Javascript
Javascript Cheat Sheet
Mis je een link? Geef even een gil in het topic

Tutorials:
W3Schools Javascript
W3Schools AJAX

Laatste posts uit het vorige topic:
quote:
Op donderdag 8 juni 2006 00:35 schreef SuperRembo het volgende:
Ik denk dat het opvragen van de positie niet klopt. Hoe dat beter kan kan je bijvoorbeeld lezen op Quirksmode.org.
quote:
Op donderdag 8 juni 2006 00:54 schreef fokME2 het volgende:
Ik heb Quirksmode etc al doorgelezen.
Deze manier van opvragen gebruikte ik al, toen ik objecten manipuleerde via getElementById.
http://dev.rnabv.nl/drag_id/drag.html

Maar nu maak ik de objecten aan met javascript, ik heb het gevoel dat het daar aan licht, maar ik weet niet wat ik er aan moet doen.
Deze OP: http://wiki.fok.nl/index.php/OP/Javascript

[ Bericht 22% gewijzigd door fokME2 op 08-06-2006 21:53:35 ]
pi_38644460
ik zou zeggen ga em maken..

en misschien kom ik nog wel meer dingen m.b.t. AJAX (wil ook de upload eens proberen, en dan wanneer hij upload, een loading ding laten zien , of beter een progessbar)
pi_38645498
@fokME2:
Deze http://dev.rnabv.nl/drag_id/drag.html werkt nu toch goed in Firefox en Internet Explorer?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_38646302
quote:
Op donderdag 8 juni 2006 01:37 schreef mschol het volgende:
ik zou zeggen ga em maken..

en misschien kom ik nog wel meer dingen m.b.t. AJAX (wil ook de upload eens proberen, en dan wanneer hij upload, een loading ding laten zien , of beter een progessbar)
Dat is zeker interresant
pi_38646335
tvptje!
pi_38649921
tvp, zou zeggen fokme2, maak er zelf 1
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_38661528
Ik zal komende week is wat prutsen voor een OP.

@SuperREmbo:
Ja, dat klopt, maar het enige verschil tussen:
http://dev.rnabv.nl/drag_id/drag.html en http://dev.rnabv.nl/drag.html is als het goed is de declaratie van het object. Bij /drag_id/drag.html staan de divs al in de htmlcode en worden deze mbv van docuemten.getElementById aangeroepen.
Bij /drag.html worden de divs ook gegenereerd met behulp van javascript.

Ik snap echter niet dat dat effect heeft op de werking?
pi_38661861
Waarom geef je jouw divs dan ook niet een id mee?

obj.setAttribute('id',divIdName);
pi_38667742
Vraagje: ik heb een upload-script waarmee bestanden kunnen worden geupload (dûh). Maargoed, als er op Submit wordt geklikt zou ik graag een animated gifje willen tonen, zodat men kan zien dat hij bezig is.

Ik heb een mooi loading gifje voor handen. Maar deze wil ik dus midden in het window tonen op het moment dat er op Submit geklikt wordt. Hij moet dus boven de site zelf 'zweven'.

Heeft iemand een idee of tip hoe ik dit makkelijk kan doen? Ik had wat geprobeerd met een <div> tag die zichtbaar werd op het moment dat je klikte, maar dat schoot niet echt op.
pi_38670205
quote:
Op donderdag 8 juni 2006 16:47 schreef Darkomen het volgende:
Waarom geef je jouw divs dan ook niet een id mee?

obj.setAttribute('id',divIdName);
Ik vond het juist interessant om het te doen met objecten zonder ze dat id mee te geven. Want het zou toch niet uit moeten maken of je getElementById doet, of het object uit een objectenverzameling haalt?

@HuHu:
Ook geen divje met een position: absolute; en z-index: 1; ? Of zelfs een hogere z-index.
pi_38671265
quote:
Op donderdag 8 juni 2006 19:51 schreef HuHu het volgende:
Vraagje: ik heb een upload-script waarmee bestanden kunnen worden geupload (dûh). Maargoed, als er op Submit wordt geklikt zou ik graag een animated gifje willen tonen, zodat men kan zien dat hij bezig is.

Ik heb een mooi loading gifje voor handen. Maar deze wil ik dus midden in het window tonen op het moment dat er op Submit geklikt wordt. Hij moet dus boven de site zelf 'zweven'.

Heeft iemand een idee of tip hoe ik dit makkelijk kan doen? Ik had wat geprobeerd met een <div> tag die zichtbaar werd op het moment dat je klikte, maar dat schoot niet echt op.
klinkt erg als iets voor AJAX
pi_38672760
Check de OP, check de OP
  donderdag 8 juni 2006 @ 22:13:16 #13
12880 CraZaay
prettig gestoord
pi_38673704
quote:
Op donderdag 8 juni 2006 19:51 schreef HuHu het volgende:
Vraagje: ik heb een upload-script waarmee bestanden kunnen worden geupload (dûh). Maargoed, als er op Submit wordt geklikt zou ik graag een animated gifje willen tonen, zodat men kan zien dat hij bezig is.

Ik heb een mooi loading gifje voor handen. Maar deze wil ik dus midden in het window tonen op het moment dat er op Submit geklikt wordt. Hij moet dus boven de site zelf 'zweven'.

Heeft iemand een idee of tip hoe ik dit makkelijk kan doen? Ik had wat geprobeerd met een <div> tag die zichtbaar werd op het moment dat je klikte, maar dat schoot niet echt op.
Waarom schoot dat niet op?

Wanneer je een div over de pagina legt met hierin die gif en je zet deze met javascript op 'display: block' dan doet het wat je wilt.

Tip: Wil je dat hierbij de onderliggende pagina niet klikbaar is (bijvoorbeeld de links ofzo), geef die div dan als achtergrond een transparante gif.

Hiervoor ajax gebruiken is onnodig, omdat er geen communicatie met de server nodig is (on submit > display div).
pi_38675359
quote:
Op donderdag 8 juni 2006 22:13 schreef CraZaay het volgende:
Hiervoor ajax gebruiken is onnodig, omdat er geen communicatie met de server nodig is (on submit > display div).
true, maar punt is dat dat me binnenschoot doordat ik rer mee bezig was
pi_38694554
hmmm uploading met JS wordt errug lastig
voor een echte progress bar (die het dus bij houdt) moet ik php patchen met een of andere patch, nou werkt ik met een windows server dus doe ik dat niet
hmm een loading dingetje zou te doen moeten zijn..
eerst eff uitvogelen hoe ik door divje van 100x10 een balkje kan laten heen en weer gaan (zodat je kan zien dattie laad)
  vrijdag 9 juni 2006 @ 19:04:25 #16
12880 CraZaay
prettig gestoord
pi_38702853
Een upload progress indicator werkt volgens mij alleen fatsoenlijk met Flash. Anders moet je inderdaad bijv. met de door jou genoemde patch met de server gaan communiceren om terug te krijgen hoeveel bytes er binnen zijn.
pi_38781402
Niemand antwoord op mijn vraag uit het vorige topique?!
pi_38781545
Wie denkt er even mee, de fout zit in dit stukje javascript/xml:

1
2
3
4
5
6
7
8
9
10
11
12
13
function getData(dataSource) 

if(XMLHttpRequestObject) {
     XMLHttpRequestObject.open("GET", dataSource); 
     XMLHttpRequestObject.onreadystatechange = function() { 
      if (XMLHttpRequestObject.readyState == 4 && 
        XMLHttpRequestObject.status == 200) { 
         eval(XMLHttpRequestObject.responseText);            
         } 
      } 
     XMLHttpRequestObject.send(null); 
   }
}

Het probleem treed op waneer er al een XML request open staat, dan krijg je een javascripterror wat uit komt op no data.
Het schijnt af te vangen te zijn maar dat lukt dus niet.
pi_38781982
@Darkomen

Hoe bedoel je als er al een XML request open staat? Je hoeft er toc maar 1 te openen?
pi_38791124
@Darkomen:
Als de vorige request nog niet klaar is, dan kan je dat aan de readyState zien. Je moet dan zelf bepalen hoe je dat oplost. Je kunt de huidige request afbreken. Je kunt de nieuwe request annuleren. Je kunt de nieuwe request in een wachtrij zetten en uitvoeren als de vorige request klaar is. Je kunt ook een nieuw XMLHTTPRequest object maken.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_38792490
Dat dacht ik dus ook, en ik weet ongeveer welke readystates het zijn.
Ik weet alleen niet wat hij daarvoor dus aangeeft.
Dacht ff slim te zijn door het zoals hieronder te doen, maar daarvoor heeft hij de fout dus al.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function getData(dataSource) 

if(XMLHttpRequestObject) {
     XMLHttpRequestObject.open("GET", dataSource); 
     XMLHttpRequestObject.onreadystatechange = function() { 
      if (XMLHttpRequestObject.readyState == 4 && 
        XMLHttpRequestObject.status == 200) { 
         eval(XMLHttpRequestObject.responseText);            
         } 
      else
        {
         alert(XMLHttpRequestObject.readyState+"\n"+XMLHttpRequestObject.responseText);
        }
      } 
     XMLHttpRequestObject.send(null); 
   }
}
Fout: [Exception... "Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsIXMLHttpRequest.send]"  nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)"  location: "JS frame :: http://borntobewild.site.nl/Chat/js/chat.js :: getData :: line 22"  data: no]
Bronbestand: http://borntobewild.site.nl/js/chat.js
Regel: 22


[ Bericht 51% gewijzigd door Darkomen op 12-06-2006 21:57:26 ]
  maandag 12 juni 2006 @ 21:56:47 #22
12880 CraZaay
prettig gestoord
pi_38793188
quote:
Op maandag 12 juni 2006 21:41 schreef Darkomen het volgende:
Dat dacht ik dus ook, en ik weet ongeveer welke readystates het zijn.
Ter referentie:

0 Object is not initialized
1 Loading object is loading data
2 Loaded object has loaded data
3 Data from object can be worked with
4 Object completely initialized
pi_38793905
Die had ik dus, maar de fout ontstaat volgens mij voordat ik de readystate krijg, zoals ik hierboven aangeef.
pi_38794402
@Darkomen: leeft je searchfunctie al?
pi_38794702
Yups, maar daar zit ook op een bepaald moment de zelfde fout in

http://muziek.borntobewild.nl
pi_38794911
Een alert() gebruiken is in zo'n geval als dit (waarbij de timing een rol speelt) niet handig. Het is dan makkelijker om bijvoorbeeld een tekstje aan de window.status te plakken.

1window.status += ','+XMLHttpRequestObject.readyState;


(of je gebruikt mijn debug scriptje)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  maandag 12 juni 2006 @ 22:35:14 #27
12880 CraZaay
prettig gestoord
pi_38795098
quote:
Op maandag 12 juni 2006 22:31 schreef SuperRembo het volgende:
Een alert() gebruiken is in zo'n geval als dit (waarbij de timing een rol speelt) niet handig. Het is dan makkelijker om bijvoorbeeld een tekstje aan de window.status te plakken.
[ code verwijderd ]
Werkt dat niet alleen in IE (of iig niet in FF)?
pi_38795367
window.status is in elke browser beschikbaar.
Maar je moet natuurlijk in Firefox niet de optie aan hebben staan dat javascript verbied om de status tekst aan te passen
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_38795874
quote:
Op maandag 12 juni 2006 22:31 schreef SuperRembo het volgende:
Een alert() gebruiken is in zo'n geval als dit (waarbij de timing een rol speelt) niet handig. Het is dan makkelijker om bijvoorbeeld een tekstje aan de window.status te plakken.
[ code verwijderd ]

(of je gebruikt mijn debug scriptje)
Heeft niet echt geholpen, hij geeft steeds, 1,2,3,1,2,3,1,2,3,1,2,3,1,1,1,1,2,3,1,1,2,3,1 en dan houdt het op. en krijg ik de foutmelding.

Hoe werkt die debugger van jou?
pi_38796342
quote:
Op maandag 12 juni 2006 22:50 schreef Darkomen het volgende:
Hoe werkt die debugger van jou?
Die pagina geeft meteen een voorbeeld.
Je hoeft alleen debug.js te includen. Default staat hij uit, je zet 'm aan met Debug.enabled = true. Je schrijft tekst naar 't windowtje met Debug.write('test'). Je kunt de plaats van het windowtje nog veranderen met Ctrl+pijltjes.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_38796490
Eens proberen, bedankt.
  dinsdag 13 juni 2006 @ 08:07:06 #32
12880 CraZaay
prettig gestoord
pi_38802526
quote:
Op maandag 12 juni 2006 22:40 schreef SuperRembo het volgende:
window.status is in elke browser beschikbaar.
Maar je moet natuurlijk in Firefox niet de optie aan hebben staan dat javascript verbied om de status tekst aan te passen
Goed punt Handig ook dat het standaard uit staat
  dinsdag 13 juni 2006 @ 13:12:30 #33
25637 hbruyn
Ben benieuwd
pi_38809535
Ik heb een probleem waarmee ik niet verder kom.
Het gaat om een script wat vanuit een frame een foto moet cross faden in een ander frame.

De foto die gefade wordt heeft id "test" en staat in een frame met de naam "header".
De functie wordt als volgt aangeroepen:

1crossfade(parent.header.test, 'images/plaatje2.jpg', '1', '');


De fout die ik krijg op regel 141 in het script is: "Kan lid niet vinden"
Hieronder het gehele script.

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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
// IXF1.11 :: Image cross-fade 
// *****************************************************
// DOM scripting by brothercake -- http://www.brothercake.com/
//******************************************************
//global object
var ixf = { 'clock' : null, 'count' : 1 }
/*******************************************************


/*****************************************************************************
 List the images that need to be cached
*****************************************************************************/

ixf.imgs = [
   'images/home.jpg',
   'images/agenda.jpg',
   ];

/*****************************************************************************
*****************************************************************************/


//cache the images
ixf.imgsLen = ixf.imgs.length;
ixf.cache = [];
for(var i=0; i<ixf.imgsLen; i++)
{
   ixf.cache[i] = new Image;
   ixf.cache[i].src = ixf.imgs[i];
}


//crossfade setup function
function crossfade()
{
   //if the timer is not already going
   if(ixf.clock == null)
   {
      //copy the image object 
      ixf.obj = arguments[0];
      
      //copy the image src argument 
      ixf.src = arguments[1];
      
      //store the supported form of opacity
      if(typeof ixf.obj.style.opacity != 'undefined')
      {
         ixf.type = 'w3c';
      }
      else if(typeof ixf.obj.style.MozOpacity != 'undefined')
      {
         ixf.type = 'moz';
      }
      else if(typeof ixf.obj.style.KhtmlOpacity != 'undefined')
      {
         ixf.type = 'khtml';
      }
      else if(typeof ixf.obj.filters == 'object')
      {
         //weed out win/ie5.0 by testing the length of the filters collection (where filters is an object with no data)
         //then weed out mac/ie5 by testing first the existence of the alpha object (to prevent errors in win/ie5.0)
         //then the returned value type, which should be a number, but in mac/ie5 is an empty string
         ixf.type = (ixf.obj.filters.length > 0 && typeof ixf.obj.filters.alpha == 'object' && typeof ixf.obj.filters.alpha.opacity == 'number') ? 'ie' : 'none';
      }
      else
      {
         ixf.type = 'none';
      }
      
      //change the image alt text if defined
      if(typeof arguments[3] != 'undefined' && arguments[3] != '')
      {
         ixf.obj.alt = arguments[3];
      }
      
      //if any kind of opacity is supported
      if(ixf.type != 'none')
      {
         //create a new image object and append it to body
         var doc = parent.header.document;

         ixf.newimg = doc.createElement('img');

         //set positioning classname
         ixf.newimg.className = 'idupe';
         
         //set src to new image src
         ixf.newimg.src = ixf.src

         //move it to superimpose original image
         ixf.newimg.style.left = ixf.getRealPosition(ixf.obj, 'x') + 'px';
         ixf.newimg.style.top = ixf.getRealPosition(ixf.obj, 'y') + 'px';
         
         //copy and convert fade duration argument 
         ixf.length = parseInt(arguments[2], 10) * 1000;
         
         //create fade resolution argument as 20 steps per transition
         ixf.resolution = parseInt(arguments[2], 10) * 20;
         
         //start the timer
         ixf.clock = setInterval('ixf.crossfade()', ixf.length/ixf.resolution);
      }
      
      //otherwise if opacity is not supported
      else
      {
         //just do the image swap
         ixf.obj.src = ixf.src;
      }
      
   }
};


//crossfade timer function
ixf.crossfade = function()
{
   //decrease the counter on a linear scale
   ixf.count -= (1 / ixf.resolution);
   
   //if the counter has reached the bottom
   if(ixf.count < (1 / ixf.resolution))
   {
      //clear the timer
      clearInterval(ixf.clock);
      ixf.clock = null;
      
      //reset the counter
      ixf.count = 1;
      
      //set the original image to the src of the new image
      ixf.obj.src = ixf.src;
   }
   
   //set new opacity value on both elements
   //using whatever method is supported
   switch(ixf.type)
   {
      case 'ie' :
         ixf.obj.filters.alpha.opacity = ixf.count * 100;
         ixf.newimg.filters.alpha.opacity = (1 - ixf.count) * 100;
         break;
         
      case 'khtml' :
         ixf.obj.style.KhtmlOpacity = ixf.count;
         ixf.newimg.style.KhtmlOpacity = (1 - ixf.count);
         break;
         
      case 'moz' : 
         //restrict max opacity to prevent a visual popping effect in firefox
         ixf.obj.style.MozOpacity = (ixf.count == 1 ? 0.9999999 : ixf.count);
         ixf.newimg.style.MozOpacity = (1 - ixf.count);
         break;
         
      default : 
         //restrict max opacity to prevent a visual popping effect in firefox
         ixf.obj.style.opacity = (ixf.count == 1 ? 0.9999999 : ixf.count);
         ixf.newimg.style.opacity = (1 - ixf.count);
   }
   
   //now that we've gone through one fade iteration 
   //we can show the image that's fading in
   ixf.newimg.style.visibility = 'visible';
   
   //keep new image in position with original image
   //in case text size changes mid transition or something
   ixf.newimg.style.left = ixf.getRealPosition(ixf.obj, 'x') + 'px';
   ixf.newimg.style.top = ixf.getRealPosition(ixf.obj, 'y') + 'px';
   
   //if the counter is at the top, which is just after the timer has finished
   if(ixf.count == 1)
   {
      //remove the duplicate image
      //ixf.newimg.parentNode.removeChild(ixf.newimg);
   }
};


//get real position method
ixf.getRealPosition = function()
{
   this.pos = (arguments[1] == 'x') ? arguments[0].offsetLeft : arguments[0].offsetTop;
   this.tmp = arguments[0].offsetParent;
   while(this.tmp != null)
   {
      this.pos += (arguments[1] == 'x') ? this.tmp.offsetLeft : this.tmp.offsetTop;
      this.tmp = this.tmp.offsetParent;
   }
   
   return this.pos;
};


Ik hoop dat iemand me hiermee kan helpen.

Bedankt alvast.
pi_38814617
quote:
Op maandag 12 juni 2006 23:03 schreef Darkomen het volgende:
Eens proberen, bedankt.
Helaas ik kom er dus niet achter hoe het op te lossen.
XMLHttpRequestObject.open("GET", dataSource, true);
Zorgt er in iedergeval voor dat het script door gaat.
Kijken jullie eens, waneer je dus veel 'lult' loopt hij vast en krijg je een error.
http://borntobewild.satanist.nl/Chat/


@ hbruyn
quote:
Op donderdag 8 juni 2006 16:17 schreef Darkomen het volgende:...
Maar heb je een online voorbeeld, je beschrijving zegt weinig.


[ Bericht 18% gewijzigd door Darkomen op 13-06-2006 16:05:32 ]
pi_38822038
Het probleem is (zoals ik al eerder zei) dat de ene request nog niet klaar is als je al weer een nieuwe wil sturen met hetzelfde request object. Dat lukt dus niet.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_38823859
Je script loopt hier niet vast? Na spamactie?
pi_38826960
quote:
Op dinsdag 13 juni 2006 19:20 schreef SuperRembo het volgende:
Het probleem is (zoals ik al eerder zei) dat de ene request nog niet klaar is als je al weer een nieuwe wil sturen met hetzelfde request object. Dat lukt dus niet.
Yups, dat snapte ik ik weet ook dat dat de fout is, ik kan het alleen niet afvangen.
Ook het steeds een nieuw object aanmaken loste het niet op.
Dan komt er soms niets aan?!

@fokme2

Nope, ook niet na je spam actie, en ook php etc word eruit gefilterd.
pi_38827103
Wanneer krijg je dan een error?
pi_38827849
bij veel spammen
En in princiepe ook als je hem gewoon een tijdje door laat refreshen (chat refreshed zichzelf)
Zet dan in firefox je javascript console maar eens open dan zie jehem wel verschijnen.
pi_38830507
quote:
Op dinsdag 13 juni 2006 21:14 schreef Darkomen het volgende:
Ook het steeds een nieuw object aanmaken loste het niet op.
Als je een nieuw XMLHTTPRequest object maakt, dan moet je er natuurlijk wel voor zorgen dat je de vorige overschijft (die mogelijk nog niet klaar is). Het makkelijkste kan je dat bereiken door het request object in een lokale variabele te stoppen in getData().
Omdat dit voor een chatprogrammaatje is, kan je het ook vrij makkelijk op een andere manier oplossen. Als het (globale) request object nog niet klaar is, dan stop je de nieuw ingevoerde tekst in een buffer. Die buffer verstuur je dan zodra het request object klaar is.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_38835180
Ik heb zelf even een simpel ajax-chat dingetje gemaakt. Het is een beginnetje, alleen om te zien hoe of mijn aanpak goed werkt.
Een heleboel functies zitten er nog niet in, maar hij kan wel tegen snel typen.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_38841628
Ik volg jouw voorbeeld wel
En probeer daarvan te leren wat ik nu eigenlijk steeds fout doe.
pi_38915459
ik ben een beetje bezig met eeen semi achtig AJAX ding en loop nu teggen het volgende probleem aan:
ik roep een functie aan met 3 parameters:
1function sndreq(param, param2, divid)

maar zodra ik em door wil geven naar een andere functie:
1http.onreadystatechange = handleresponse(divid);


dan krijg ik de melding dat er een type mismatch is op die regel ?
de volledige source code van het script is hier te vinden: een werkende pagina is te vinden op mijn homepage..

wat zie ik over het hoofd? waarom kan ik de waarde in divid niet gewoon doorgeven
pi_38916442
quote:
Op vrijdag 16 juni 2006 13:03 schreef mschol het volgende:
ik ben een beetje bezig met eeen semi achtig AJAX ding en loop nu teggen het volgende probleem aan:
ik roep een functie aan met 3 parameters:
[ code verwijderd ]

maar zodra ik em door wil geven naar een andere functie:
[ code verwijderd ]

dan krijg ik de melding dat er een type mismatch is op die regel ?
de volledige source code van het script is hier te vinden: een werkende pagina is te vinden op mijn homepage..

wat zie ik over het hoofd? waarom kan ik de waarde in divid niet gewoon doorgeven
ik denk dat je eerst een declaratie moet doen. Een type mismatch hoeft niet op die variable te gebeuren, kan ook op 1 van de 2 functies gebeuren.
pi_38916676
Verander

1
2
var divid2 = String(divid)
http.onreadystatechange = handleresponse(divid2);

in

1
2
3
http.onreadystatechange = function() {
   handleresponse(divid);
};


(Zie ook http://jibbering.com/faq/faq_notes/closures.html voor uitleg over closures.)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_38917325
quote:
Op vrijdag 16 juni 2006 13:37 schreef SuperRembo het volgende:
Verander
[ code verwijderd ]

in
[ code verwijderd ]

(Zie ook http://jibbering.com/faq/faq_notes/closures.html voor uitleg over closures.)
hmm zo werrkt et idd, straks eff die webpagina doornemen..
en ook even kijken hoe ik 2x een jsje kan uitvoeren (volgens mij gewoon geen return waarde mee geven, bij de eerste aanroep tenminste dit is wat mij logisch lijkt)
  Redactie Frontpage vrijdag 16 juni 2006 @ 16:04:46 #47
83660 crew  Etcetera
*pffrrrwwwt*
pi_38922027
ik geloof dat ik wel wat hulp kan gebruiken ik heb een script voor een formulier gemaakt, maar het werkt niet volgens mij. ik weet niet wat ik fout doe, dus heeeelp!

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
function afhandelen(){

var naamVeld = document.getElementById ("naamVeld");
var naam = naamVeld.value;
var naamCell = document.getElementById ("naamCel");
naamCell.innerHTML = naam;

var bedrijfVeld = document.getElementById("Bedrijf");
var bedrijf = bedrijfVeld.value;
var bedrijfCell = document.getElementById ("bedrijfCel");
bedrijfCell.innerHTML = bedrijf;

var adresVeld = document.getElementById ("adres");
var adres = adresVeld.value;
var adresCell = document.getElementById ("adresCel");
adresCell.innerHTML = adres;

var postcodecijfersVeld = document.getElementById ("postcodecijfersVeld");
var postcodecijffers= postcodecijfersVeld.value;
var postcodecijfersCell = document.getElementById ("postcodecijfersCel");
postcodecijfersCell.innerhtml = postcodecijfers;

var postcodelettersVeld = document.getElementById ("postcodelettersVeld");
var postcodeletters = postcodelettersVeld.value;
var postcodelettersCell = document.getElementById ("postcodelettersCel");
postcodelettersCell.innerHTML = postcodeletters;

var plaatsVeld = document.getElementById ("Plaats");
var plaats = plaatsVeld.value;
var plaatsCell = document.getElementById ("plaatsCel");
plaatsCell.innerHTML = Plaats;

var telefoonVeld = document.getElementById ("Telefoon");
var telefoon = telefoonVeld.value;
var telefoonCell= document.getElemenbtById ("telefoonCel");
plaatsCell.innerhtml = Plaats;

var functieVeld = document.getElementById ("Functie");
var functie = functieVeld.value;
var functieCell = document.getElementById ("functieCel");
functieCell.innerhtml = Functie

var infoVeld = document.getElementById ("Informatie");
var informatie = infoVeld.value;
var infoCell = document.getElementById ("infoCell");
infoCell.innerhtml = Informatie
}


sorry dat het zo lang is trouwens, maar een fout zit nu eenmaal in een klein hoekje
It's not just sex, it's love
It's two people connecting
With four other people
And aliens
pi_38922658
"Het werkt niet"

Javascript is hoofdlettergevoelig. Het moet .innerHTML zijn in plaats van .innerhtml.

Als er zo veel herhaling in je code zit is het makkelijker om een funtie te makne die de value van het ene element naar de innerHTML van het andere element kopieert.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  Redactie Frontpage vrijdag 16 juni 2006 @ 16:23:32 #49
83660 crew  Etcetera
*pffrrrwwwt*
pi_38922815
quote:
Op vrijdag 16 juni 2006 16:19 schreef SuperRembo het volgende:
"Het werkt niet"
Ja sorry ik heb Javascript nog nooit begrepen, html gaat me een stuk beter af.
quote:
Javascript is hoofdlettergevoelig. Het moet .innerHTML zijn in plaats van .innerhtml.
a merci, ik zal eens aan het typen gaan
quote:
Als er zo veel herhaling in je code zit is het makkelijker om een funtie te makne die de value van het ene element naar de innerHTML van het andere element kopieert.
eeeehm...

normaal nederlands??? ik snap je wel geloof ik, maar ik ben nogal visueel ingesteld. hoe moet ikme dat voorstellen?
It's not just sex, it's love
It's two people connecting
With four other people
And aliens
pi_38925433
quote:
Op vrijdag 16 juni 2006 16:23 schreef Etcetera het volgende:
Ja sorry ik heb Javascript nog nooit begrepen, html gaat me een stuk beter af.
Ik bedoelde te zeggen dat de mededeling "het werkt niet" erg weinig informatie geeft. Wàt werkt er dan niet? Wàt gaat er fout?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')