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? |
  vrijdag 16 juni 2006 @ 18:25:41 #51
12880 CraZaay
prettig gestoord
pi_38925925
quote:
Op vrijdag 16 juni 2006 16:04 schreef Etcetera het volgende:
ik geloof dat ik wel wat hulp kan gebruiken ik heb een script voor een formulier gemaakt, maar het werkt niet volgens mij.
Volgens mij ook niet. Komt door dat ene dingetje.

Met andere woorden: wanneer gaat wat mis?
  Redactie Frontpage zaterdag 17 juni 2006 @ 16:12:19 #52
83660 crew  Etcetera
*pffrrrwwwt*
pi_38945986
goed punt, wel zo makkelijk om te vermelden

ik heb ff een linkje gemaakt: http://145.37.208.96/208493/Inhoud/contact.html

maar ik heb net zitten prutsen en nu heb ik de layout verneukt maar goed, wat er gebeurd:

eerst gebeurde er niks maar nu krijg ik een foutmelding dat in regel 320 een object wordt verwacht. in regel 320 zit echter een tabel waar de inhoud an het formulier in moet verschijnen ik gok datdathet object is van de foutmelding

ik hoop dat ik nu genoeg info heb gegeven. nu ga ik eens kijken hoe ik de layout kan herstellen

oh ja ik test in FF maar heb dan helemaal geen reactie, in IE krijg ik die foutmelding
It's not just sex, it's love
It's two people connecting
With four other people
And aliens
pi_38946301
Ik krijg deze foutenin FF
1
2
3
"Beveiligingsfout: Inhoud van http://145.37.208.96/208493/Inhoud/contact.html?naamVeld=&bedrijfVeld=&adresVeld=&postcodeLettersVeld=&postcodeCijfersVeld=&plaatsVeld=&telefoonVeld=&functieVeld=&dag=17&maand=6&jaar=2006&infoVeld=&Submit=Submit mag file:///G|/Afbeeldingen/KnopPortfolioDown.png niet laden of koppelen.

Beveiligingsfout: Inhoud van http://145.37.208.96/208493/Inhoud/contact.html mag file:///G|/Afbeeldingen/KnopPortfolioDown.png niet laden of koppelen."

Ik zou zeggen zet eerst eens die rechten goed.
Gebruik je in FF de toolbar webdevolper?
  Redactie Frontpage zaterdag 17 juni 2006 @ 16:52:02 #54
83660 crew  Etcetera
*pffrrrwwwt*
pi_38946927
quote:
Op zaterdag 17 juni 2006 16:25 schreef Darkomen het volgende:
Ik krijg deze foutenin FF
[ code verwijderd ]

Ik zou zeggen zet eerst eens die rechten goed.
Gebruik je in FF de toolbar webdevolper?
dat denk ik niet. het enige wat ik weet van FF is dat er een DOM inspector inzit toch? dus ik geloof niet dat ik er gebruik van maak

lay out gefikst, geloof dat ik meteen dat rechten probleem ook heb opgelost
It's not just sex, it's love
It's two people connecting
With four other people
And aliens
pi_38947038
Ik zou zeggen download hem eens, erg handig.
Maar FF heeft ook een javascript console, extra->javascript console
Hier zie je meestal direct je javascript fouten.
pi_38947057
Rechten fouten zijn nu idd weg, nu nog alleen:
Fout: controle is not defined
2x Fout: afhandelen is not defined
  Redactie Frontpage zaterdag 17 juni 2006 @ 16:59:10 #57
83660 crew  Etcetera
*pffrrrwwwt*
pi_38947134
quote:
Op zaterdag 17 juni 2006 16:56 schreef Darkomen het volgende:
Rechten fouten zijn nu idd weg, nu nog alleen:
Fout: controle is not defined
2x Fout: afhandelen is not defined
ben echt slim bezig geweest geen wonder dat dat niet defined is er staat geen script in wat 'm defined

* Etcetera gaat orde scheppen in haar chaos
It's not just sex, it's love
It's two people connecting
With four other people
And aliens
pi_38947907
Ik zat je script te bekijken en idd dat mist ik ook
  Redactie Frontpage zaterdag 17 juni 2006 @ 17:36:12 #59
83660 crew  Etcetera
*pffrrrwwwt*
pi_38947997
krijg je d'r van als je dingen gaat zitten verwijderen en plakken terwijl je de site zelf niet tot je beschikking hebt het ging een beetje mis enzo, maar het is goed gekomen.

nu alleen dat pokkescript nog.

oh ja, m'n docent mailde me een stukkie dat ik moest veranderen maar dat heb ik al, voor zover ik weet

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
<script language="javascript">

function afhandelen()

{

if              (document.contact.naamVeld.value == "" ||

                document.contact.bedrijfVeld.value == "" ||

                document.contact.adresVeld.value == "" ||

                document.contact.postcodeLettersVeld.value == "" ||

                document.contact.postcodeCijfersVeld.Value == "" ||

                document.contact.plaatsVeld.Value == "" ||

                document.contact.telefoonVeld.Value == "" ||

                document.contact.functieVeld.Value == "" ||

                document.contact.infoVeld.Value == ""){

                                alert('Vul alle velden in aub.');

                                return false;

                }

                return true;

 

}


komt het er dan niet dubbel te staan? lijkt me niet logisch.
It's not just sex, it's love
It's two people connecting
With four other people
And aliens
pi_38948097
Ik gebruik dit om formulieren te checken.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function CheckTheForm() {
    var why = "";
    why += IsEmpty(document.getElementById('Inhoud').value,'Inhoud');
    why += IsEmpty(document.getElementById('Pk').value,'Pk');
    
    if (why != "") {
       alert(why);
       return false;
    }
    else    {    return true;}
    }


function IsEmpty(string,veld) {
  var error = "";
  if (string=="") {
  var error = "Het veld "+ veld +" mag niet leeg zijn.\n";
   }
   return error;
}   
  Redactie Frontpage zaterdag 17 juni 2006 @ 17:52:52 #61
83660 crew  Etcetera
*pffrrrwwwt*
pi_38948360
zou ik wel willen gebruiken, maar ik moet de theorie gebruiken die we hebben gehad in de les. en daar zitten strings niet bij helaas
It's not just sex, it's love
It's two people connecting
With four other people
And aliens
  maandag 19 juni 2006 @ 22:59:23 #62
12880 CraZaay
prettig gestoord
pi_39019928
quote:
Op zaterdag 17 juni 2006 17:52 schreef Etcetera het volgende:
zou ik wel willen gebruiken, maar ik moet de theorie gebruiken die we hebben gehad in de les. en daar zitten strings niet bij helaas
In jouw voorbeeld kijk je toch ook of de input gelijk is aan een lege string?
  Redactie Frontpage dinsdag 20 juni 2006 @ 07:01:31 #63
83660 crew  Etcetera
*pffrrrwwwt*
pi_39025402
quote:
Op maandag 19 juni 2006 22:59 schreef CraZaay het volgende:

[..]

In jouw voorbeeld kijk je toch ook of de input gelijk is aan een lege string?
echt, ik geloof je

maar het enige wat ik me nog een beetje kan herinneren is dat ik 'document.blabla.' en 'innerHTML' moet gebruiken

verder zegt het me geen barst meer
It's not just sex, it's love
It's two people connecting
With four other people
And aliens
pi_39030406
oke ik ga proberen mijn probleem zo simpel mogelijk uit te leggen:
ik heb 2 div's (content & relatedlinks) die ik wil updaten a.d.v. 1 klik op een url
ik dacht dit kan ik doen doorop de link een onclick event toe te voegen als volgt:
1<a href='#' onclick="javascript:clickfunction('parameter1','div1','parameter2','div2')">


in de clickfunction roep ik een andere functie 2x aan:
1
2
3
4
5
function clickfunction(param, divid, param2, divid2)
{
      tester(param,divid);
      tester(param2,divid2);
}


ik update het met het AJAX princiepe (dus http.open etc..)
dat laat ik achterwege aangezien dat wel werkt..
maar mijn probleem is dus dat hij alleen de laatste (2de ) div (die ik opgeef in de functie) update.

hoe kan ik zorgen dat hij dus met 1 muisklik beide divs update?
  dinsdag 20 juni 2006 @ 12:02:10 #65
12880 CraZaay
prettig gestoord
pi_39030613
quote:
Op dinsdag 20 juni 2006 11:55 schreef mschol het volgende:
oke ik ga proberen mijn probleem zo simpel mogelijk uit te leggen:
ik heb 2 div's (content & relatedlinks) die ik wil updaten a.d.v. 1 klik op een url
ik dacht dit kan ik doen doorop de link een onclick event toe te voegen als volgt:
[ code verwijderd ]

in de clickfunction roep ik een andere functie 2x aan:
[ code verwijderd ]

ik update het met het AJAX princiepe (dus http.open etc..)
dat laat ik achterwege aangezien dat wel werkt..
maar mijn probleem is dus dat hij alleen de laatste (2de ) div (die ik opgeef in de functie) update.

hoe kan ik zorgen dat hij dus met 1 muisklik beide divs update?
Je moet sowieso even 'javascript:' weg halen, dat is alleen nodig als je het als href gebruikt (wat deprecated is).

Daarnaast zou ik een functie maken die de bewerking voor 1 div per keer doet om het geheel generiek te houden (toekomstige uitbreidingen, etc), dus:
1onclick="tester(param,divid); tester(param,divid); return false"
Of een array in je functie schieten en daar doorheen loopen, maar in ieder geval niet het aantal parameters steeds uitbreiden

Zet eens een alert bovenin je tester() functie zou ik zeggen. Wanneer je die twee keer ziet, wordt die functie dus beide keren uitgevoerd en gaat het later mis (en kun je weer andere relevante code posten). Zo niet, dan is er iets heel raars aan de hand
pi_39031373
(Her)gebruik je steeds 1 instantie van XMLHttpRequest? Als dat zo is dan denk ik dat de 2e aanroep van tester() de eerste aanroep annuleert.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_39032461
quote:
Op dinsdag 20 juni 2006 12:24 schreef SuperRembo het volgende:
(Her)gebruik je steeds 1 instantie van XMLHttpRequest? Als dat zo is dan denk ik dat de 2e aanroep van tester() de eerste aanroep annuleert.
aha dit lijk ik idd wel te doen..
hmmm zo even kijken of ik dat kan oplossen..
zal niet al te lastig zijn lijkt mij
pi_39171314
Ik zoek iets heel simpels, maar ik kom er even niet uit .

Ik wil een soort generieke functie maken om te controleren of een veld leeg is. Ik heb nu het volgende:
1
2
3
4
5
6
7
8
function checkEmpty(formValue, formId){
  if ((formId.value.length==0) || (formId.value==null)){
    alert(formId);
  }
  else{ 
    alert("go"); 
  }
}


alleen krijg ik de melding dat de formId niet defined is. Iemand een oplossing?
  zaterdag 24 juni 2006 @ 08:47:38 #69
2738 Knut
Loyal Dog
pi_39171357
eval(formId.value.length) misschien ?
[20:25] [Knut] Een vrouw met een kerst fetish...
[20:26] [Knut] Niet zo letterlijk dat ik haar met baard om moet HOHOHOEN
[20:26] [Knut] maar je snapt het idee wel.
pi_39171387
Ik heb het wat makkelijk gedaan .
1
2
3
4
5
6
7
8
function checkEmpty(formValue, formId){
  if ((formValue.length==0) || (formValue==null)){
    alert(formId);
  }
  else{ 
    alert("go"); 
  }
}


Maar op zich ben nog steeds ik best benieuwd hoe ik de properties van een bepaald element kan aanspreken (dus zoals in mijn eerste voorbeeld ).
pi_39171405
Je gebruikt de variabele formId in de functie alsof het een form element is. Je moet dus een form element doorgeven aan de functie, of de functie zo aanpassen dat je het element bij de formId zoekt.

Je moet trouwens de volgorde van

1if ((formId.value.length==0) || (formId.value==null)){

omdraaien. Als .value==null is krijg je nu een error op de formId.value.length==0 controle.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  zondag 25 juni 2006 @ 21:16:45 #72
95236 marcb1974
Dakshin Ray
pi_39220847
Waarom werkt JavaScript zo klote in firefox en IE,
ik krijg gewoon de helft van wat ik doen moet niet werkend. En dan tik ik het nog letterlijk over uit het boek
stupidity has become as common as common sense was before
pi_39222211
Heb je een oud boek dat overal gebruikt maat van document.all en window.event?
Heb je een voorbeeld van code uit je boek die niet werkt?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  zondag 25 juni 2006 @ 21:50:25 #74
145172 gronk
adulescentulus carnifex
pi_39222367
Minstens de helft van leren programmeren is leren debuggen.
I'm trying to make the 'net' a kinder, gentler place. One where you could bring the fuckin' children.
  maandag 26 juni 2006 @ 11:39:43 #75
65516 gieling
Live from NYC
pi_39243226
Ok ik zit nu al even met een irritant probleem wat maar niet wilt werken.

Ik heb een checkbox, die standaard uitgevinkt staat. Alle invoervelden en submitbuttons zijn dan gedisabled. Met javascript worden deze, als de checkbox is aangeklikt, weer ingeschakeld.

Nu zitten er ook drie radiobuttons in dezelfde groep. Deze willen maar niet gedisabled worden, ik heb meerdere scripts geprobeerd maar het probleem is dat ze op het begin van de pagina al gedisabled moeten zijn (iets wat met een van de scripts een probleem was). Heeft iemand een idee hoe dit op te lossen?
pi_39246218
Daar heb ik nooit problemen mee gehad. Een stuk code zou handig zijn.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  maandag 26 juni 2006 @ 13:11:25 #77
145172 gronk
adulescentulus carnifex
pi_39246443
Tikfout in je code?
I'm trying to make the 'net' a kinder, gentler place. One where you could bring the fuckin' children.
  maandag 26 juni 2006 @ 13:21:51 #78
65516 gieling
Live from NYC
pi_39246856
Bijvoorbeeld

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  function zetBalkAanUit()
  {
    if (document.cijferform.BalkAanUit.checked==1) {
      document.images["a"].src = "i/a.gif";
      document.cijferform.AANUIT.value = "1";
      document.images["c"].src = "i/c2.gif";
      document.getElementById('textUitAan').style.color='#C60000';
     document.getElementById('textUitAan2').style.color='#000000';
     document.getElementById('textUitAanRB1').style.color='#000000';
     document.cijferform.status.disabled=false;
     
     } else {
      document.images["a"].src = "i/a_off.gif";
      document.cijferform.AANUIT.value = "0";
      document.images["c"].src = "i/c2_off.gif";
      document.getElementById('textUitAan').style.color='#AAAAAA';
     document.getElementById('textUitAan2').style.color='#AAAAAA';
     document.getElementById('textUitAanRB1').style.color='#AAAAAA';
     document.cijferform.status.disabled=true;
     }
  }


<input type=radio name=\"status\" value=\"want\" ".$w.">a.<br />
<input type=radio name=\"status\" value=\"notwant\" ".$nw.">b.<br />
<input type=radio name=\"status\" value=\"have\" ".$h.">c.<br /><br />
pi_39249861
  • Gebruik altijd document.getElementById('myid'). (document.myid of document.myform.myinput werkt misschien wel, maar is eigenlijk een IE-only constructie)
  • id's zijn case sensitive. Als je een element hebt met id="x", dan vind je dus niets met document.getElementById('X').
  • Geef de elementen die je disabled een andere css class in plaats van in js de kleuren aan te passen. Dus bijvoorbeeld document.getElementById('x').className = 'disabled';.
  • Als je in php een string gebruikt met dubbele "quotes" erin, gebruik dan enkele 'quotes' voor de string zelf. Dan hoef je ze niet te escapen met \. Dat leest veel fijner.
  • Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_39256052
    Ik heb een handje links. In dit geval 2 bijvoorbeeld.

    Nou heb ik per link een div, met de css style display: none;..
    onclick wil ik dat de volgende functie uitgevoerd wordt, maar dan zonder syntax errors


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
       function hideshow(which){
          if (!document.getElementById)
             return;
          if (which.style.display=="block"){
             id1.style.display="none";
             id2.style.display="none";
       
          }
          else {
             id1.style.display="none";
             id2.style.display="none";
       
             which.style.display="block";
          }
       }


    mijn divs hebben id1 en id2.

    Ik wil dat er maar 1 div display: block; kan krijgen, dus alle andere divs moeten display: none; krijgen.

    mijn href = "javascript:hideshow('id1');"

    ik ben niet zo gevorderd met javascript dus ik weet ook niet precies wat ik fout doe.. misschien dat iemand met een beetje ervaring mijn foutje kan verbeteren
    As a rule, I never touch anything more sophisticated and delicate than myself.
      maandag 26 juni 2006 @ 22:27:53 #81
    12880 CraZaay
    prettig gestoord
    pi_39267155
    quote:
    Op maandag 26 juni 2006 14:35 schreef SuperRembo het volgende:
  • Als je in php een string gebruikt met dubbele "quotes" erin, gebruik dan enkele 'quotes' voor de string zelf. Dan hoef je ze niet te escapen met \. Dat leest veel fijner.
  • Hoort eigenlijkt in het PHP-topic, maar goed: het is per definitie beter om single quotes te gebruiken, en alleen dubbele te gebruiken voor strins waarin een variabele staat die geparsed moet worden. Bij single quotes gaat PHP namelijk niet eens proberen om de string te parsen, wat zorgt voor minder belasting.
    pi_39268515
    Ik vind leesbaarheid een belangrijker dan snelheid in veel gevallen. Gelukkig werkt dat elkaar hier niet tegen.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      maandag 26 juni 2006 @ 23:46:06 #83
    12880 CraZaay
    prettig gestoord
    pi_39270454
    quote:
    Op maandag 26 juni 2006 22:59 schreef SuperRembo het volgende:
    Ik vind leesbaarheid een belangrijker dan snelheid in veel gevallen. Gelukkig werkt dat elkaar hier niet tegen.
    Gaat prima samen inderdaad hiero. Wat belangrijker is hangt natuurlijk helemaal af van je resources. Een tweede bak gebruiken voor een site omdat de load te hoog is, maar je wel leesbare code hebt is ook een beetje bizar natuurlijk
      maandag 26 juni 2006 @ 23:50:15 #84
    12880 CraZaay
    prettig gestoord
    pi_39270579
    quote:
    Op maandag 26 juni 2006 17:16 schreef Desdinova het volgende:

    mijn divs hebben id1 en id2.
    Heb je id1 en id2 wel ergens gedefinieerd? Dus bijvoorbeeld:
    1var id1 = document.getElementById('id1');


    Hetzelfde geldt voor 'which'. Je Javascript kan niet ruiken wat 'which' is, dus zul je moeten gebruiken als:
    1document.getElementById(which).style.display == 'block'


    Begin eens op http://www.w3schools.com/js/ zou ik zeggen
    pi_39270777
    quote:
    Op maandag 26 juni 2006 22:27 schreef CraZaay het volgende:

    [..]

    Hoort eigenlijkt in het PHP-topic, maar goed: het is per definitie beter om single quotes te gebruiken, en alleen dubbele te gebruiken voor strins waarin een variabele staat die geparsed moet worden. Bij single quotes gaat PHP namelijk niet eens proberen om de string te parsen, wat zorgt voor minder belasting.
    ik doe werkelijk alles met dubbele quotes
    wist niet dat zelfs dat performance technisch nie slim was
    pi_39275276
    quote:
    Op maandag 26 juni 2006 23:50 schreef CraZaay het volgende:
    Hetzelfde geldt voor 'which'. Je Javascript kan niet ruiken wat 'which' is, dus zul je moeten gebruiken
    Dat ligt er natuurlijk helemaal aan hoe de functie wordt aangeroepen.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_39275838
    quote:
    Op maandag 26 juni 2006 23:50 schreef CraZaay het volgende:

    [..]

    Heb je id1 en id2 wel ergens gedefinieerd? Dus bijvoorbeeld:
    [ code verwijderd ]

    Hetzelfde geldt voor 'which'. Je Javascript kan niet ruiken wat 'which' is, dus zul je moeten gebruiken als:
    [ code verwijderd ]

    Begin eens op http://www.w3schools.com/js/ zou ik zeggen
    aah perfect! ik ben eruit

    ik had het script gebruikt zoals het was op een andere pagina, maar daar had ik niet de wens om alle andere ID's een display none te geven, en toen deed hij het ook gewoon.

    Nu heb ik je zinnetje toegepast en hij doet het
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_39318352
    is het ook mogelijk om via javascript de waarde van een <input type='file'> door te sturen naar een functie?

    dus beetje dit idee:

    <input type="file" name="whatever" onchange="javascript:functiedit('dezewaarde');">
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_39318494
    quote:
    Op woensdag 28 juni 2006 13:14 schreef Desdinova het volgende:
    is het ook mogelijk om via javascript de waarde van een <input type='file'> door te sturen naar een functie?

    dus beetje dit idee:

    <input type="file" name="whatever" onchange="javascript:functiedit('dezewaarde');">
    quote:
    <input type="file" name="whatever" onchange="javascript:functiedit(this.value);">


    [ Bericht 17% gewijzigd door #ANONIEM op 28-06-2006 13:19:23 ]
    pi_39319439
    lijkt niet helemaal te werken..

    is onchange wel de goede trigger?
    As a rule, I never touch anything more sophisticated and delicate than myself.
      woensdag 28 juni 2006 @ 13:52:37 #91
    85514 ralfie
    !Yvan eht nioj
    pi_39319967
    quote:
    Op woensdag 28 juni 2006 13:39 schreef Desdinova het volgende:
    lijkt niet helemaal te werken..

    is onchange wel de goede trigger?
    Ja, maar dat javascript: hoeft niet

    1<input type="file" name="whatever" onchange="functienaam(this.value)">
    pi_39320094
    ah tis een firefox beveiligingsdingetje.. werkt fenks
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_39320530
    Owja shit, vergeten
      donderdag 29 juni 2006 @ 01:32:31 #94
    12880 CraZaay
    prettig gestoord
    pi_39342412
    quote:
    Op dinsdag 27 juni 2006 08:58 schreef SuperRembo het volgende:

    [..]

    Dat ligt er natuurlijk helemaal aan hoe de functie wordt aangeroepen.
    Zolang er nergens staat hoe een variabele definieerd wordt, ga ik er voor het gemak vanuit dat het niet gebeurd is. Anders kunnen we natuurlijk nooit iets debuggen hier
    pi_39345762
    quote:
    Op donderdag 29 juni 2006 01:32 schreef CraZaay het volgende:

    [..]

    Zolang er nergens staat hoe een variabele definieerd wordt, ga ik er voor het gemak vanuit dat het niet gebeurd is. Anders kunnen we natuurlijk nooit iets debuggen hier
    "which" was een parameter van de functie, dus die was wel gedefinieerd.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      donderdag 29 juni 2006 @ 09:30:42 #96
    12880 CraZaay
    prettig gestoord
    pi_39346394
    quote:
    Op donderdag 29 juni 2006 08:51 schreef SuperRembo het volgende:

    [..]

    "which" was een parameter van de functie, dus die was wel gedefinieerd.
    Je hebt nergens uit af kunnen leiden wat de inhoud van 'which' was iig. Voor mijn part werd de functie gebruikt als "functie('worst')".
    pi_39346811
    quote:
    Op donderdag 29 juni 2006 09:30 schreef CraZaay het volgende:

    [..]

    Je hebt nergens uit af kunnen leiden wat de inhoud van 'which' was iig. Voor mijn part werd de functie gebruikt als "functie('worst')".
    ik gaf mijn href toch? href = "javascript:hideshow('id1');"

    dan is id1 toch gewoon 'which'?
    As a rule, I never touch anything more sophisticated and delicate than myself.
      donderdag 29 juni 2006 @ 09:54:55 #98
    12880 CraZaay
    prettig gestoord
    pi_39346854
    quote:
    Op donderdag 29 juni 2006 09:52 schreef Desdinova het volgende:

    [..]

    ik gaf mijn href toch? href = "javascript:hideshow('id1');"

    dan is id1 toch gewoon 'which'?
    Je hebt helemaal gelijk, ik had er overeen gelezen.

    Neemt niet weg dat het daarom niet werkte
    pi_39347019
    mooi dan volg ik het nog een beetje.

    die werkte wel, hij ging fout bij het toevoegen van de anderen (id1.style.display == "block"), want daar begrijpt hij waarschijnlijk niet dat het om een elementID gaat.
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_39350463
    nu deel 2

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
          function hideshow(which){
             var which = document.getElementById.which;
             if (!document.getElementById)
                alert('returning');
                return;
             if (which.style.display=="block")
                which.style.display="none"
             else
                which.style.display="block"
          }


    ik krijg geen errors.. maar ik zie ook niks veranderen.. terwijl de div met ID 'id0' en een zeer aanwezige style toch best aanwezig moet zijn zodra de display op block wordt gezet..

    ik ben een beetje aan het stoeien met de code, dus misschien dat er hier en daar niet veel van klopt, maar ik heb een heleboel manieren geprobeerd. Waarschijnlijk kijk ik ergens overheen, of loopt de code in de shite door de javascript text-editor (fckeditor) die op dezelfde page staat..

    iemand tips voor waar ik naar kan kijken?
    As a rule, I never touch anything more sophisticated and delicate than myself.
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')