abonnement Unibet Coolblue Bitvavo
pi_51465299
WTF is dat AUTOCOMPLETE=off? Dat is sowieso geen geldige opmaak. Het zal een of andere custom toevoeging zijn voor een of ander script maar het zal hoogstwaarschijnlijk de reden zijn waarom je zo'n node niet mbv DOM kan aanmaken.
pi_51465451
Autocomplete is gewoon een attribute om te voorkomen dat je browser de waarde van het veld automatisch aanvult.
Het probleem is dat je natuurlijk niet met createTextNode en een html string een invoerveld kan maken. Dat moet je ook via createElement doen.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  zaterdag 14 juli 2007 @ 18:01:12 #103
136730 PiRANiA
All thinking men are atheists.
pi_51466132
quote:
Op zaterdag 14 juli 2007 17:32 schreef Farenji het volgende:
WTF is dat AUTOCOMPLETE=off? Dat is sowieso geen geldige opmaak. Het zal een of andere custom toevoeging zijn voor een of ander script maar het zal hoogstwaarschijnlijk de reden zijn waarom je zo'n node niet mbv DOM kan aanmaken.
http://www.w3.org/Submission/web-forms2/#the-autocomplete
  zaterdag 14 juli 2007 @ 18:01:43 #104
136730 PiRANiA
All thinking men are atheists.
pi_51466142
quote:
Op zaterdag 14 juli 2007 17:37 schreef SuperRembo het volgende:
Autocomplete is gewoon een attribute om te voorkomen dat je browser de waarde van het veld automatisch aanvult.
Het probleem is dat je natuurlijk niet met createTextNode en een html string een invoerveld kan maken. Dat moet je ook via createElement doen.
createElement, ga ik proberen...
  dinsdag 17 juli 2007 @ 20:27:24 #105
71919 wonderer
Hung like a My Little Pony
pi_51570472
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  function resize_images()
  {
    for (i = 0; i < document.images.length; i++)
    {
      while ( !document.images[i].complete )
      {
        break;
      }
      if ( document.images[i].width > 640 )
      {
        document.images[i].width = 640;
      }
    }
  }


Ik wil ervoor zorgen dat ie alleen images binnen een bepaalde div kleiner maakt, kan dat, als die div een ID heeft? Ik ben niet zo'n held met de volgorde in dat soort dingen :@
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_51571680
Zoiets?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function resize_images()
  {
   img=document.getElementById("id").getElementsByTagName("img");
   
    for (i = 0; i < img.length; i++)
    {
      while ( !img[i].complete )
      {
        break;
      }
      if ( img[i].width > 640 )
      {
        img[i].width = 640;
      }
    }
  }
pi_51620768
als javascript nono zie ik geen ander keus dan me te wenden tot de experts hier...

ik zoek nameljik een tool die mij kan helpen met het zichtbaar maken van een foto plus informatietext wanneer je over een naam gaat met de muis. Ik heb al een script gevonden maar dat is hogere school werk, iets wat mij dus telang gaat duren.

Om een duidelijk beeld te geven zoek ik het volgende:

de gebruiker gaat met de muis over en/of klikt op de naam die er staat. op dat moment komt er een popup scherm naar voren waar een foto instaat en wat begeleidende informatie (mogelijk ook een clickable url als dat mogelijk is) . zoals ik al zei is mijn kennis wat betreft java echt minimaal dus zoek of een goede script die gebruksvriendelijk is OF iemand die tijd over heeft en me kan helpen om iig een begin te maken met dit alles..
Hooray for boobies!
  donderdag 19 juli 2007 @ 15:38:10 #108
71919 wonderer
Hung like a My Little Pony
pi_51628850
Zoiets heb ik wel es gemaakt en het kan in principe op twee manieren:

-je laadt alle foto's en informatie al op je pagina, maar in een divje met display:none; Met een mouseover of onclick verander je de style van dat divje dan naar zichtbaar (met een paar extra attributen zoals positie en grootte)

-Je maakt een aparte pagina die de betreffende foto zou laden (zoals je zou doen als je die pagina met de foto in een nieuw venster zou openen), gebruikt hetzelfde zichtbaar/onzichtbaar principe, maar bij onclick/mouseover maak je het divje niet alleen zichtbaar, je laadt via AJAX die pagina erin.

Geen van beide vergt heel veel codeerwerk en ik wil best wat posten. Kan alleen niet garanderen dat het perfect is dus als er een expert naar wil kijken voor je het gebruikt zou dat denk ik wel handig zijn
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_51628936
elke hulp is welkom.. om het wat duidelijker te maken, het geheel moet komen in een geeklog cms systeem, de site vind je onder mijn profiel, kan bijna niet missen!
Hooray for boobies!
pi_51635206
quote:
Op donderdag 19 juli 2007 15:40 schreef Spockjuh_ het volgende:
elke hulp is welkom.. om het wat duidelijker te maken, het geheel moet komen in een geeklog cms systeem, de site vind je onder mijn profiel, kan bijna niet missen!
quote:
Not Found
The requested URL /suspended.page/ was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
pi_51637665
ja klopt, ben bezig met de server op dit moment. wellicht niet het meeste geschikte tijdstip, ik weet het..
Hooray for boobies!
pi_51650753
Hoi,

wat nou als ik mijn hele (dynamische) pagina af wil laten hangen van een afbeelding qua dimensies. Dus aan de hand van de breedte worden de div's opgebouwd (aan de hand van het HTML DOM object).

Ja, dan doen we dus,
1
2
3
4
var plaatje = new Image();
plaatje.src = 'blaat.gif';
var breedte = plaatje.width;
var hoogte = plaatje.height;


Dit werkt in IE en Opera. In Firefox gaat het alles door elkaar omdat de gegevens op 0 staan. Vervolgens ververs ik de pagina in Firefox en alles staat goed.

Dan proberen we,
1
2
3
4
5
var plaatje = document.createElement('img');
plaatje.setAttribute('src', 'plaatje.gif');
eenDiv.appendChild(plaatje);
var breedte = plaatje.width;
var hoogte = plaatje.height;


Werkt wederom perfect in IE en Opera, Firefox zet alles weer op 0. Na een verversing is alles weer ok.

Misschien dan wachten tot het plaatje klaar is met laden
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
var startTijd = new Date();
var metError = false;
var plaatje = new Image();
plaatje.src = 'plaatje.gif';
plaatje.onLoad = plaatjeGeladen;

function plaatjeGeladen()
{
  var timeOut;
  var plaatjeCompleetGeladen = false;

  while (!plaatjeCompleetGeladen) {
    timeOut = new Date();

    if (plaatje.complete) {
      plaatjeCompleetGeladen = true;
      metError = false;
    }

    // timeout op laten treden na 10s
    if (timeOut.getTime() - startTijd.getTime() >= 10000) {
      plaatjeCompleetGeladen = true;
      metError = true;
    }
  }
}

var breedte = plaatje.width;
var hoogte = plaatje.height;


Mooi toch, met timeout voor afbeeldingen die echt niet gevonden kunnen worden, om niet in een oneindige loop te blijven hangen...

Maarrrr, dit werkt alleen echt goed in Opera... Serverside afbeeldingen geprobeerd, clientside, het werkt NIET.

Suggesties, iemand?
pi_51650957
Wat doen clientHeight en offsetHeight bij je?
pi_51651431
De onload event op plaatjes is in IE en FF geloof ik nog all buggy. Kijk eens naar de user_images() functie die hier op FOK (en op GoT) wordt gebruikt om te grootte plaatjes automatisch te verkleinen.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_51653321
quote:
Op vrijdag 20 juli 2007 08:56 schreef Geqxon het volgende:
Wat doen clientHeight en offsetHeight bij je?
Hetzelfde als height en width?
Helpt mij ook verder niet echt vrees ik :(
quote:
Op vrijdag 20 juli 2007 09:21 schreef SuperRembo het volgende:
De onload event op plaatjes is in IE en FF geloof ik nog all buggy. Kijk eens naar de user_images() functie die hier op FOK (en op GoT) wordt gebruikt om te grootte plaatjes automatisch te verkleinen.
Tja, nu weet ik dat de browsers de volgende dingen ondersteunen:

Firefox: image.complete, image.width, image.naturalWidth
Opera: image.complete, image.width
IE: image.width

Allemaal dus image.width.

Dan doe ik het volgende:
1
2
3
4
5
...
if (image.width > 0) {
  blaat();
}
...

(in een while-lus)

werkt prima in IE en Opera. Niet in Firefox.

Ik ga nog even een en ander proberen met clientWidth, offsetWidth en naturalWidth om er zeker van te zijn dat echt alle mogelijke opties daar mee heb geprobeerd ;)
pi_51653484
IE:
1
2
3
4
achtergrond.clientWidth: 0
achtergrond.offsetWidth: 0
achtergrond.naturalWidth: undefined
achtergrond.width: 550


Opera:
1
2
3
4
achtergrond.clientWidth: 0
achtergrond.offsetWidth: 0
achtergrond.naturalWidth: undefined
achtergrond.width: 550


Firefox:
1
2
3
4
achtergrond.clientWidth: 0
achtergrond.offsetWidth: 0
achtergrond.naturalWidth: 0
achtergrond.width: 0


Firefox NA verversen pagina:
1
2
3
4
achtergrond.clientWidth: 0
achtergrond.offsetWidth: 0
achtergrond.naturalWidth: 550
achtergrond.width: 550


Deze waardes krijg ik dus in alle browsers met var blaat = new Image EN var blaat = document.createElement('img')!!!!

[ Bericht 6% gewijzigd door CiQNiZ op 20-07-2007 10:47:15 ]
pi_51654299
quote:
Op vrijdag 20 juli 2007 10:36 schreef CiQNiZ het volgende:
werkt prima in IE en Opera. Niet in Firefox.
Dat komt waarschijnlijk omdat je de property opvraagt als het plaatje noet niet (volledig) is geladen. Hoe je dat afvangt kan je dus even van die user_images() functie afkijken.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_51654467
quote:
Op vrijdag 20 juli 2007 11:07 schreef SuperRembo het volgende:

[..]

Dat komt waarschijnlijk omdat je de property opvraagt als het plaatje noet niet (volledig) is geladen. Hoe je dat afvangt kan je dus even van die user_images() functie afkijken.
Ik vraag de properties op TOTdat deze geset zijn. Dus dat houdt in dat ik wacht tot het plaatje geladen is (via een while-lus). Na 4 seconden zeg ik stop (duurt te lang, want het is lokaal), en dan heeft Firefox nog niks bijzonders gedaan. IE en Opera die komen niet eens zover, die zijn dan al lang klaar!
pi_51657618
quote:
Op vrijdag 20 juli 2007 11:12 schreef CiQNiZ het volgende:

[..]

Ik vraag de properties op TOTdat deze geset zijn. Dus dat houdt in dat ik wacht tot het plaatje geladen is (via een while-lus). Na 4 seconden zeg ik stop (duurt te lang, want het is lokaal), en dan heeft Firefox nog niks bijzonders gedaan. IE en Opera die komen niet eens zover, die zijn dan al lang klaar!
Dat komt omdat er tijdens de while loop geen events worden afgehandeld. Waarschijnlijk staat op deze maniet de cpuload nog op 100% ook. Als je wil kijken of het plaatje na x seconden nog niet geladen is dan kan je beter setTimeout() gebruiken.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_51714889


[ Bericht 100% gewijzigd door Spockjuh_ op 22-07-2007 12:51:30 (dubbel..) ]
Hooray for boobies!
pi_51714900
quote:
Op donderdag 19 juli 2007 15:40 schreef Spockjuh_ het volgende:

als javascript nono zie ik geen ander keus dan me te wenden tot de experts hier...

ik zoek nameljik een tool die mij kan helpen met het zichtbaar maken van een foto plus informatietext wanneer je over een naam gaat met de muis. Ik heb al een script gevonden maar dat is hogere school werk, iets wat mij dus telang gaat duren.

Om een duidelijk beeld te geven zoek ik het volgende:

de gebruiker gaat met de muis over en/of klikt op de naam die er staat. op dat moment komt er een popup scherm naar voren waar een foto instaat en wat begeleidende informatie (mogelijk ook een clickable url als dat mogelijk is) . zoals ik al zei is mijn kennis wat betreft java echt minimaal dus zoek of een goede script die gebruksvriendelijk is OF iemand die tijd over heeft en me kan helpen om iig een begin te maken met dit alles..

elke hulp is welkom.. om het wat duidelijker te maken, het geheel moet komen in een geeklog cms systeem, de site vind je onder mijn profiel, kan bijna niet missen!
kunnen jullie nog eens een poging wagen, de boel draait weer..
Hooray for boobies!
  FOK!-Schrikkelbaas vrijdag 27 juli 2007 @ 16:13:51 #122
1972 Swetsenegger
Egocentrische Narcist
pi_51890383
Als ik meerdere elementen met hetzelfde id heb in een source. Hoe kan ik dan met javascript de juiste vinden?

document.getElementById geeft volgens mij de eerste terug?
pi_51890654
quote:
Op vrijdag 27 juli 2007 16:13 schreef Swetsenegger het volgende:
Als ik meerdere elementen met hetzelfde id heb in een source. Hoe kan ik dan met javascript de juiste vinden?

document.getElementById geeft volgens mij de eerste terug?
Het probleem anders oplossen? Kun je niet alles een bepaalde class-name geven? getElements() oid?
  FOK!-Schrikkelbaas vrijdag 27 juli 2007 @ 16:28:39 #124
1972 Swetsenegger
Egocentrische Narcist
pi_51890952
quote:
Op vrijdag 27 juli 2007 16:21 schreef Geqxon het volgende:

[..]

Het probleem anders oplossen? Kun je niet alles een bepaalde class-name geven? getElements() oid?
neen... dat kan niet

het is niet mijn source
pi_51891118
quote:
Op vrijdag 27 juli 2007 16:28 schreef Swetsenegger het volgende:

[..]

neen... dat kan niet

het is niet mijn source
En staan alle items niet toevallig in bijvoorbeeld een tabel? Je zou dan een getElements kunnen uitvoeren, dan krijg je een array met alle elementen binnen deze tabel. Vervolgens een for-loopje er overheen, een if-statement (if element.id == 'swets'), en zo ja > Iets doen.
  FOK!-Schrikkelbaas vrijdag 27 juli 2007 @ 16:38:24 #126
1972 Swetsenegger
Egocentrische Narcist
pi_51891314
quote:
Op vrijdag 27 juli 2007 16:33 schreef Geqxon het volgende:

[..]

En staan alle items niet toevallig in bijvoorbeeld een tabel? Je zou dan een getElements kunnen uitvoeren, dan krijg je een array met alle elementen binnen deze tabel. Vervolgens een for-loopje er overheen, een if-statement (if element.id == 'swets'), en zo ja > Iets doen.
nou dat is vrij lastig. er is de niet w3c document.all functie. Maar de juiste syntax om het tweede element met hetzelfde id te vinden is lastig
pi_51891459
quote:
Op vrijdag 27 juli 2007 16:38 schreef Swetsenegger het volgende:

[..]

nou dat is vrij lastig. er is de niet w3c document.all functie. Maar de juiste syntax om het tweede element met hetzelfde id te vinden is lastig :)
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
<div id="customerdatafield">
   <div id="negger">Data</div>
   <div id="swets">Data</div>
   <div id="negger">Data</div>
   <div id="swets">Data</div>
   <div id="negger">Data</div>
</div>

<script>

var parentdiv = "customerdatafield"
var childdiv = "swets";

var customerArray = document.getElementById(parentdiv).getElementsByTagName("div");


for (i = 0; i < customerArray.length; i++){
   var customer = customerArray[i];

   if (customer.id == childdiv){
      customer.style.backgroundColor = "#FF9900"
   }

}
</script>


Doet exact wat jij wilt. Gok ik. :)
  zondag 19 augustus 2007 @ 20:40:17 #128
37634 wobbel
Da WoBBeL King
pi_52509630
Ik gebruik het volgende PHP, HTML en JS script:

Javascript code:
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
var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
 try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   xmlhttp = false;
  }
 }
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  xmlhttp = new XMLHttpRequest();
}
function BarcodeCheck(value)
{
   xmlhttp.open("GET", "ajax_check.php?request=barcodecheck&barcode="+value,true);//method, target, async (set always true!)
   
   xmlhttp.onreadystatechange=function() {
      if (xmlhttp.readyState==4) {
         document.getElementById('BarcodeGeldigheid').innerHTML = xmlhttp.responseText;
      }
   }
   
   xmlhttp.send(null);
}


die ik op deze manier aanroep:
1<input type="text" name="BarcodeInputVeld" id="BarcodeInputVeld" onBlur="BarcodeCheck(this.value)" />



vervolgens krijg ik van ajax_check.php een waarde terug die ik met <span id="BarcodeGeldigheid"> </span> bekijk...

Nu komt het probleem, ajax check.php poept het volgende uit richting de HTML pagina:
1
2
<br /><font color="#00c600"><strong>F. van Gaalen (Sempron 2800+)</strong></font>
<script language="javascript">insRow()</script>


maar die code wordt niet uitgevoerd, want alert('hoi'); voert ie ook niet uit...whats the problem hiero? de tekst F. van Gaalen (Sempron 2800+) geeft ie wel netjes weer...

(en volgensmij werk ik heel erg verkeerd met AJAX, maar dan verbeter me maar (of geen tips enzo)
pi_52509981
Als je mbv ajax een deel van een document dynamisch update, dan wordt javascript in die code idd niet uitgevoerd. Daar is weinig aan te doen behalve zelf alle javascript mbv "eval()" uitvoeren of je kan ook een of andere js lib gebruiken die dat voor je uit handen neemt (dojo kan dat bijv).
pi_52510005
Google eens wat op eval. Doet exact wat jij wilt.
  zondag 19 augustus 2007 @ 21:28:02 #131
37634 wobbel
Da WoBBeL King
pi_52511163
quote:
Op zondag 19 augustus 2007 20:53 schreef Geqxon het volgende:
Google eens wat op eval. Doet exact wat jij wilt.
ik heb er al op gegoogled maar ik snap er echt geen fuck van...

Als ik namelijk hieronder een barcode invul:


en het is correct, dan wil ik namelijk het invul veld groen maken en 3 rijen toevoegen aan de tabel...



als ie niet correct is, dan mag het vakje rood worden en hoeven er niet 3 rijen te worden toegevoegd
pi_52515233
Zo moeilijk is dat toch niet? Wat snap je niet?
pi_52529879
In het PHP topic vroeg ik het volgende:

Ik heb een formulier en ik wil een voorbeeld zien voordat het gesubmit wordt via een button. Een voorbeeld verschijnt in een popup... Alle inhoud komt alleen niet aan in de popup. Wat doe ik fout?

Inmiddels ben ik erachter dat het eventueel wel mogelijk is met Javascript. Na wat zoeken kom ik niet verder dan een voorbeeld te krijgen op dezelfde pagina.

Kan iemand mij helpen?
pi_52530025
Ik zou dat toch gewoon lekker met php doen en voor de preview een extra hidden formveld meesturen, preview=1, dat ervoor zorgt dat php de data niet wegschrijft maar alleen toont.
  maandag 20 augustus 2007 @ 16:44:33 #135
71919 wonderer
Hung like a My Little Pony
pi_52532302
quote:
Op maandag 20 augustus 2007 15:34 schreef Qunix het volgende:
In het PHP topic vroeg ik het volgende:

Ik heb een formulier en ik wil een voorbeeld zien voordat het gesubmit wordt via een button. Een voorbeeld verschijnt in een popup... Alle inhoud komt alleen niet aan in de popup. Wat doe ik fout?

Inmiddels ben ik erachter dat het eventueel wel mogelijk is met Javascript. Na wat zoeken kom ik niet verder dan een voorbeeld te krijgen op dezelfde pagina.

Kan iemand mij helpen?
Zo'n functie heb ik toevallig deze week nog ergens gejat ;)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function winOpener(theURL, winName, scrollbars, resizable, width, height) {

  winFeatures = 'left=' + (screen.availWidth-10-width)/2 + ',top=' + (screen.availHeight-30-height)/2 + ',scrollbars=' + scrollbars + ',resizable=' + resizable + ',width=' + width + ',height=' + height + ',toolbar=0,location=0,status=0,menubar=0'
    window.open(theURL, winName, winFeatures);
}

//Function to open preview window
function OpenPreviewWindow(formName){

  now = new Date;
  submitAction = formName.action;
  submitTarget = formName.target;

  winOpener('','preview',1,1,640,400)

  formName.action = 'forum.php?c=preview';
  formName.target = 'preview';
  formName.submit();

  formName.action = submitAction;
  formName.target = submitTarget;
}


En in je html zet je dit:
1<input type="button" class="inline_submit" name="submit_preview" value="voorbeeld" accesskey="p" onClick=" OpenPreviewWindow(document.forum_form);">


waar "forum_form" de naam is van je formulier.
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_52532760
quote:
Op maandag 20 augustus 2007 15:34 schreef Qunix het volgende:
In het PHP topic vroeg ik het volgende:

Ik heb een formulier en ik wil een voorbeeld zien voordat het gesubmit wordt via een button. Een voorbeeld verschijnt in een popup... Alle inhoud komt alleen niet aan in de popup. Wat doe ik fout?

Inmiddels ben ik erachter dat het eventueel wel mogelijk is met Javascript. Na wat zoeken kom ik niet verder dan een voorbeeld te krijgen op dezelfde pagina.

Kan iemand mij helpen?
wat je eigenlijk doet is gewoon een onclick-window-open() op de button...
dat betekent inderdaad dat er een 'gewoon' request gedaan wordt naar die pagina en géén formulier-waardes worden verstuurd...

dat is je probleem en dat is verder niet afhankelijk van php of javascript (als je liever javascript wil gebruiken om die preview te genereren moet je een functie die die gehele HTMl-code wegschrijft, ook dat is mogelijk)

wil je echter gewoon je bestaande code gebruiken, maar dan van je button een submit
1<input type="submit" onclick="popup('preview.php');" name="preview" value="Voorbeeld" />

in je functie pop moet je ervoor zorgen dat het nieuwe venster een name krijgt bv "nieuwvenster" en het formulier een target en dus het nieuwe submit-request post naar "nieuwvenster"...

via $_POST["preview"] kun je de waarde opvragen van de button die naar de preview doorstuurd, die dient ook "Voorbeeld" te zijn
"Whatever you feel like: Life’s not one color, nor are you my only reader" - Ausonius, Epigrammata 25
pi_52536165
1
2
3
4
5
6
7
8
9
10
<script language="javascript">
var data = window.opener.document.getElementById('content').value;
var title = window.opener.document.getElementById('title').value;
var subtitle = window.opener.document.getElementById('subtitle').value;
var ender = window.opener.document.getElementById('ender').value;
var regExp = new RegExp("n","g");
var result = data.replace(regExp,"<br/>");
document.writeln('<b>'+subtitle+'</b><br/><br/>');
document.writeln(result);
</script>


Dit is wat ik gebruik om info vanuit een formulier te halen.
Dit staat dan in de popup!
  donderdag 23 augustus 2007 @ 17:33:41 #138
37634 wobbel
Da WoBBeL King
pi_52627007
quote:
Op zondag 19 augustus 2007 23:20 schreef Farenji het volgende:
Zo moeilijk is dat toch niet? Wat snap je niet?
hoe ik dmv ajax er 3 extra rows bij kan krijgen, want javascript wordt niet uitgevoerd als ik ajax output
pi_52629086
Thanks
Ik ga morgen ermee aan de slag
pi_52783069
Stel ik heb een array in js

vb:
1x = new Array("blaat" => "123", "woei" => "345");


hoe kan ik dan blaat en 123 uitlezen zoals in php met foreach ($x as $key => $value)

Anyone?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_52783309
quote:
Op woensdag 29 augustus 2007 16:01 schreef Chandler het volgende:
Stel ik heb een array in js

vb:
[ code verwijderd ]

hoe kan ik dan blaat en 123 uitlezen zoals in php met foreach ($x as $key => $value)

Anyone?
1
2
3
4
5
6
for (itemkey in arrayx){
   var itemvalue = arrayx[itemkey];
   
   alert (itemkey);
   alert(itemvalue);
}




[ Bericht 11% gewijzigd door Geqxon op 29-08-2007 16:17:35 ]
pi_52783689
wist niet dat het zo gemakkelijk was
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_52805906
Nog een vraag.

Ik wil bepaalde elementen in een pagina veranderen als de brouwser wordt verkleind, echter lukt het niet met onderstaande code

1window.onresize = adBox();


Hoe doen jullie dit? PS onderstaande code is voor positioneren van Adsense SkyScraper

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
<table>
<tr>
    <td>Scherm breedte</td>
    <td><div id="pbreedte"></div></td>
</tr>
<tr>
    <td>Center scherm</td>
    <td><div id="pcenter"></div></td>
</tr>
<tr>
    <td>Positie links</td>
    <td><div id="plinks"></div></td>
</tr>
<tr>
    <td>Positie rechts</td>
    <td><div id="prechts"></div></td>
</tr>
</table>

<div id=centermidden style="position: absolute; top: 0; left: 0;display: none; border: 1px solid black; height: 300px; width: 160px; text-align: center;"> midden</div>
<div id=centerlinks style="position: absolute; top: 0; left: 0;display: none; border: 1px solid green; height: 300px; width: 160px;">Links</div>
<div id=centerrechts style="position: absolute; text-align: right; top: 0; left: 0;display: none; border: 1px solid orange; height: 300px; width: 160px;">Rechts</div>


<script language="javascript">

function adBox()
{
    contentSize = 500;

    document.getElementById('pbreedte').innerHTML = document.documentElement['offsetWidth'];
    document.getElementById('pcenter').innerHTML  = ((document.documentElement['offsetWidth'] -2)/2 - 80);

    midden = document.getElementById('pcenter').innerHTML;

    document.getElementById('plinks').innerHTML          = ((document.documentElement['offsetWidth']/2) - (contentSize /2) - 160);
    document.getElementById('centerlinks').style.left    = ((document.documentElement['offsetWidth']/2) - (contentSize /2) - 160);
    document.getElementById('centerlinks').style.display = 'block';

    document.getElementById('prechts').innerHTML          = ((document.documentElement['offsetWidth']/2) + (contentSize /2));
    document.getElementById('centerrechts').style.left    = ((document.documentElement['offsetWidth']/2) + (contentSize /2));
    document.getElementById('centerrechts').style.display = 'block';

    document.getElementById('centermidden').style.left    = document.getElementById('pcenter').innerHTML;
    document.getElementById('centermidden').style.display = 'block';
}

window.onresize = adBox();
adBox();
</script>
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_52806006
1      window.attachEvent("onresize", adBox)


Voor Internet Explorer tenminste. Die van Firefox is mij even ontvlogen.

Edit: Schaamteloze copy/paste:

1
2
3
4
5
6
if (window.addEventListener)       //DOM method for binding an event
   window.addEventListener("load", dothis, false)
else if (window.attachEvent)       //IE exclusive method for binding an event
   window.attachEvent("onload", dothis)
else if (document.getElementById) //support older modern browsers
   window.onload=dothis
pi_52806868
Leuke foutmelding van FF:

Fout: uncaught exception: [Exception... "Could not convert JavaScript argument" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: file:///..../desktop/centerscreen.html :: <TOP_LEVEL> :: line 51" data: no]

Foutieve code
1window.addEventListener("onresize", adBox(), false)


Ook foute code maar zonder error
1window.addEventListener("onresize", adBox, false)


Beiden werken trouwens niet in FF
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_52807044
1window.addEventListener("onresize", "adBox()", false);
pi_52808165
quote:
Op donderdag 30 augustus 2007 12:13 schreef super-muffin het volgende:
[ code verwijderd ]
Fout: uncaught exception: [Exception... "Could not convert JavaScript argument" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: file:///.../desktop/centerscreen.html :: <TOP_LEVEL> :: line 51" data: no]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_52808212
quote:
Op donderdag 30 augustus 2007 12:07 schreef Chandler het volgende:
Leuke foutmelding van FF:

Fout: uncaught exception: [Exception... "Could not convert JavaScript argument" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: file:///..../desktop/centerscreen.html :: <TOP_LEVEL> :: line 51" data: no]

Foutieve code
[ code verwijderd ]

Ook foute code maar zonder error
[ code verwijderd ]

Beiden werken trouwens niet in FF
En wat als je er "resize" in plaats van "onresize" van maakt, en je geen haakjes achter je functie plakt?
pi_52808572
Helaas het zelfde effect... echter werkt het wel weer als ik in de body onresize plaats maar dat wil ik niet..

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
<html>
<head>
    <title>text resize</title>
</head>
<body onResize="adBox();">

<table>
<tr>
    <td>Scherm breedte</td>
    <td><div id="pbreedte"></div></td>
</tr>
<tr>
    <td>Center scherm</td>
    <td><div id="pcenter"></div></td>
</tr>
<tr>
    <td>Positie links</td>
    <td><div id="plinks"></div></td>
</tr>
<tr>
    <td>Positie rechts</td>
    <td><div id="prechts"></div></td>
</tr>
</table>

<div id=centermidden style="position: absolute; top: 0; left: 0;display: none; border: 1px solid black; height: 300px; width: 160px; text-align: center;"> midden</div>
<div id=centerlinks style="position: absolute; top: 0; left: 0;display: none; border: 1px solid green; height: 300px; width: 160px;">Links</div>
<div id=centerrechts style="position: absolute; text-align: right; top: 0; left: 0;display: none; border: 1px solid orange; height: 300px; width: 160px;">Rechts</div>


<script language="javascript">

function adBox()
{
    contentSize = 500;

    document.getElementById('pbreedte').innerHTML = document.documentElement['offsetWidth'];
    document.getElementById('pcenter').innerHTML  = ((document.documentElement['offsetWidth'] -2)/2 - 80);

    midden = document.getElementById('pcenter').innerHTML;

    document.getElementById('plinks').innerHTML          = ((document.documentElement['offsetWidth']/2) - (contentSize /2) - 160);
    document.getElementById('centerlinks').style.left    = ((document.documentElement['offsetWidth']/2) - (contentSize /2) - 160);
    document.getElementById('centerlinks').style.display = 'block';

    document.getElementById('prechts').innerHTML          = ((document.documentElement['offsetWidth']/2) + (contentSize /2));
    document.getElementById('centerrechts').style.left    = ((document.documentElement['offsetWidth']/2) + (contentSize /2));
    document.getElementById('centerrechts').style.display = 'block';

    document.getElementById('centermidden').style.left    = document.getElementById('pcenter').innerHTML;
    document.getElementById('centermidden').style.display = 'block';
}


if (window.addEventListener)       //DOM method for binding an event
{
    window.addEventListener("resize", adBox(), true)
}
else if (window.attachEvent)       //IE exclusive method for binding an event
{
    window.attachEvent("resize", adBox())
}
else if (document.getElementById) //support older modern browsers
{
    window.resize = adBox();
}

adBox();
</script>

</body>
</html>
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_52808794
Helaas kan ik het hier niet even snel cross-browser testen, maar dit stukje script werkt onder FireFox en IE7 prima:

1
2
3
4
5
6
7
8
9
10
function showMessage(){
   alert("Yoob");
}

if (window.addEventListener)       //DOM method for binding an event
   window.addEventListener("resize", showMessage, false)
else if (window.attachEvent)       //IE exclusive method for binding an event
   window.attachEvent("onresize", showMessage)
else if (document.getElementById) //support older modern browsers
   window.onresize=showMessage
pi_52808922
Het werkt nu wel iig, maar zie eingelijk geen verschil what happend?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_52808951
In IE6 (hier op mijn werk) werkt de resize functie iig niet
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_52809036
Met de addEvent/removeEvent functies van quirksmode.org:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function addEvent( obj, type, fn )
{
   if (obj.addEventListener)
      obj.addEventListener( type, fn, false );
   else if (obj.attachEvent)
   {
      obj["e"+type+fn] = fn;
      obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
      obj.attachEvent( "on"+type, obj[type+fn] );
   }
}

function resizeHandler(e)
{
   // ...
}

addEvent(window, "resize", resizeHandler);
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_52809041
quote:
Op donderdag 30 augustus 2007 13:20 schreef Chandler het volgende:
Het werkt nu wel iig, maar zie eingelijk geen verschil what happend?
Je moet natuurlijk wel de twee haakjes achter adBox weghalen, als je hem in een event-handler dondert.

[ Bericht 2% gewijzigd door Geqxon op 30-08-2007 13:30:58 ]
pi_52809384
@SuperRembo; dat werkt inderdaad heerlijk! in zowel IE als FF
@Geqxon: dat heb ik dus af en toe ook verwijderd met hetzelfde resultaat
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_52809562
quote:
Op donderdag 30 augustus 2007 13:24 schreef SuperRembo het volgende:
Met de addEvent/removeEvent functies van quirksmode.org:
[ code verwijderd ]
Doet dit niet basicly hetzelfde?
pi_52816398
Volgens mij wel, maar nu blijkt dit weer niet te werken in FF krijg een melding dat LEFT niet geaccepteerd wordt!

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
<div id=centerrechts style="top: 250px; position: absolute; left: 0;display: none; width: 120px;">
... adsense enzo....
</div>


<script language="javascript">
function adBox()
{
    contentSize = 720;

    midden = ((document.documentElement['offsetWidth'] -2)/2 - 80);

    document.getElementById('centerrechts').style.left    = ((document.documentElement['offsetWidth']/2) + (contentSize /2));
    document.getElementById('centerrechts').style.display = 'block';
}


function addEvent( obj, type, fn )
{
   if (obj.addEventListener)
      obj.addEventListener( type, fn, false );
   else if (obj.attachEvent)
   {
      obj["e"+type+fn] = fn;
      obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
      obj.attachEvent( "on"+type, obj[type+fn] );
   }
}

addEvent(window, "resize", adBox);

adBox();
</script>


en dan de melding in FF

1
2
3
Error: Error in parsing value for property 'left'.  Declaration dropped.
Source File: http://www.gfxpoll.nl/index.php
Line: 0


:? snap ut nou helemaal niet meer :P FF ver. 1.5.0.12
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_52816501
quote:
Op donderdag 30 augustus 2007 13:44 schreef Geqxon het volgende:

[..]

Doet dit niet basicly hetzelfde?
Basicly wel. In mijn versie kan je de code makkelijker hergebruiken. Verder zit er een verschil in de scope waarin de handlers worden uitgevoerd.
Maar beide versies zijn verre van bug-vrij.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_52816803
quote:
Op donderdag 30 augustus 2007 18:05 schreef Chandler het volgende:
Volgens mij wel, maar nu blijkt dit weer niet te werken in FF krijg een melding dat LEFT niet geaccepteerd wordt!
[ code verwijderd ]

en dan de melding in FF
[ code verwijderd ]

snap ut nou helemaal niet meer FF ver. 1.5.0.12
Het is niet zo dat de style.left property niet wordt ondersteund, maar de waarde die je er in probeert te zetten is ongeldig. Style.left moet een lengte zijn: een getal en een eenheid (bij px, pt of %). Alleen bij de waarde 0 mag je de eenheid weglaten.

En het wordt tijd om FF te updaten naar 2.x
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_52818154
quote:
Op donderdag 30 augustus 2007 18:09 schreef SuperRembo het volgende:

[..]

Basicly wel. In mijn versie kan je de code makkelijker hergebruiken. Verder zit er een verschil in de scope waarin de handlers worden uitgevoerd.
Maar beide versies zijn verre van bug-vrij.
Ik heb mij er eens even in verdiept, ik heb hem door. Dank u
pi_52976765
Nog een vraagje over arrays

In php kan ik een array zo aanmaken.

$arr = array("naam" => "value");

maar dit werkt niet zo in JS.

arr = new Array("naam" => "value");

hoe doe ik dit in JS?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_52980685
Wat er in javascript het meeste op lijkt is dit:
1
2
3
var arr = {foo: "bar", baz: "bazz"};
alert(arr["foo"]);
alert(arr.foo);


Dan heb je een object/collection. Het is geen array, dus je hebt bijvoorbeeld geen length property die aangeeft hoeveel elementen er in zitten.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_52980720
In javascript is alles een object en kun je dus overal ongelimiteerd properties aan toekennen. Dit kan op vele manieren, dit is allemaal equivalent:

1
2
3
4
var blaat;
blaat.property1 = "blaat";

blaat["property1"] = "blaat;

of:
1
2
3
var blaat = {
  property1:  "blaat"
};
pi_52980797
Ah SuperRembo, jammer dat dat er niet in verwerkt zit want de optie die je aangeeft is niet echt wat ik zoek dan maar zonder array werken
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_52983037
quote:
Op donderdag 6 september 2007 13:29 schreef Chandler het volgende:
Ah SuperRembo, jammer dat dat er niet in verwerkt zit :{ want de optie die je aangeeft is niet echt wat ik zoek :( dan maar zonder array werken :P
Wat zoek je dan? Je kunt er wel doorheen lopen met een for:

1
2
3
4
5
var myCollection = {foo: "bar", baz: "bazz"};
for (var i in myCollection)
{
   alert(myCollection[i]);
}
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  donderdag 6 september 2007 @ 15:40:18 #166
12880 CraZaay
prettig gestoord
pi_52983899
quote:
Op donderdag 6 september 2007 13:29 schreef Chandler het volgende:
Ah SuperRembo, jammer dat dat er niet in verwerkt zit want de optie die je aangeeft is niet echt wat ik zoek dan maar zonder array werken
Er zitten wel arrays in, maar niet met named keys. Maar wat wil je precies doen? Het zou zomaar kunnen dat het toch lukt met objecten of anderszins
pi_52985988
Ik wil een formulier posten middels ajax, zie code

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

var xmlHttp;                 // xmlHttp var.
var xmlHttpError;            // error variable
var xmlHttpFailure = false;  // false for failure
var xmlHttpCache;            // buffer for received data

function create_http_object()
{
    // This array is a list of all/most possible XMLHTTP types
    var ActiveXTypes = [
        "Microsoft.XMLHTTP",
        "MSXML2.XMLHTTP.5.0",
        "MSXML2.XMLHTTP.4.0",
        "MSXML2.XMLHTTP.3.0",
        "MSXML2.XMLHTTP"
    ];

    // Loop through the ActiveXTypes array and 
    for (var i = 0; i < ActiveXTypes.length; i++)
    {
        // try to use the current XMLHTTP object,
        // if not it's not possible try the next
        try
        {
            return new ActiveXObject(ActiveXTypes[i]);
        }
        catch(e)
        { 
            // object kan niet gebruikt worden!
        }
    }

    // none of them worked, try the function XMLHttpRequest()
    try
    {
        return new XMLHttpRequest();
    }
    catch(e)
    { 
        alert("Helemaal geen XML mogelijkheden");
    }

    // It seems that the browser doesn't support AJAX Stuff
    return false;
}

function stateChanged() 
{
    // is readyState 4? 4 =  all data is received 
    if (xmlHttp.readyState == 4)
    {
        // return data to xmlHttpCache variable
        xmlHttpCache = xmlHttp.responseText;
    }
}

function ajaxSubmit(url, data, returnOBJ)
{
    // url         location of the scripting
    // data        array of submit data
    // returnOBJ   is the object to return the received data to


    // open XMLHTTP connection
    xmlHttp = create_http_object();

    // connection open?
    if (xmlHttp != false)
    {
 
        // when state is ready, do save
        xmlHttp.onreadystatechange = stateChanged();
        // open url
        xmlHttp.open('POST', url, true);

        // set headers before posting
        xmlHttp.setRequestHeader("Content-type",  "application/x-www-form-urlencoded");
        xmlHttp.setRequestHeader("Content-length", data.length);
        xmlHttp.setRequestHeader("Connection",    "close");

        // send data to server
        xmlHttp.send(data);

        // object is given! (or not?)
        if (returnOBJ != "")
        {
            // add received content to given object (returnOBJ)
            returnOBJ = xmlHttpCache;
        }
    }
    else
    {
        // display ERROR notice
        notifyNoAjax();
    }
}

function ajaxGet(url, data, returnOBJ)
{

    // url          location of scripting
    // data         compilation of string paramters
    // return OBJ   object to return received data to 

    // open XMLHTTP connection
    xmlHttp = create_http_object();

    // connection open?
    if (xmlHttp != false)
    {
        // what to do with received data!
        xmlHttp.onreadystatechange = stateChanged();
        
        // open url location
        xmlHttp.open('GET', url + data, true);

        // send nothing, just go receive data
        xmlHttp.send(null);

        // if received data is longer then....
        if (xmlHttpCache.length > 0 && returnOBJ != "")
        {
            returnOBJ = xmlHttpCache;
        }
    }
    else
    {
        // display ERROR notice!
        notifyNoAjax();
    }
}

function notifyNoAjax()
{
    if (xmlHttpFailure == false)
    {
        alert('Sorry, uw brouwser ondersteund geen AJAX / Javascript calls');
    }
}


</script>
</head>
<body>


<div id="receiveddatadiv" style="width: 300px; height: 100px; border: 1px solid green">Content is comming....</div>


<a href="#" onClick="ajaxGet('file://c:/1.html', 
                             '', 
                             document.getElementById('receiveddatadiv').innerHtml);">AJAX GET TEST</a>

<form>
Name: <input type="text" id="id_name"><br />
Text: <textarea name="text" id="id_text"></textarea><br />
</form>

<input type="button" onClick="ajaxSubmit('c:/test.php', 
                                         'name='  + escape(encodeURI(document.getElementById('id_name').value)) + 
                                         '&text=' + escape(encodeURI(document.getElementById('id_text').value)),
                                         document.getElementById('receiveddatadiv').innerHtml);" value="AJAX POST TEST">
</body>
</html>


echter wilde ik eerst alle variabelen middels een array doorgeven naar de ajaxSubmit of ajaxGet.

Ps wat vinden jullie van dit? heb het nog niet getest hoor :) :D :@
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_52988000
1
2
3
4
5
6
7
8
9
10
11
12
function encodeParams(params)
{  
   var data = [];
   for (p in params)
   {
      data.push(encodeURIComponent(p) + "=" + encodeURIComponent(params[p]));
   }
   return data.join("&");
}

var params = { code: "foo", name: "Foo" };
var data = encodeParams(params);

Dan kan je de variabele data in een url ("test.php?" + data) of als post data in een http request (request.send(data)).
quote:
Sorry, uw brouwser ondersteund geen AJAX / Javascript calls
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_52998717
quote:
Op donderdag 6 september 2007 18:53 schreef SuperRembo het volgende:

[ code verwijderd ]

Dan kan je de variabele data in een url ("test.php?" + data) of als post data in een http request (request.send(data)).
[..]

Mooi lapje code! maar wat bedoel je met de laatste quote? Ik heb de code trouwens aangepast

http://www.bruggema.nl/ajaxtest/#

Nu nog een vraagje, als ik een post doe krijg ik iedere keer een nieuwe inhoud (met cache variabel) maar als ik dit met een GET doe krijg ik continue het zelfde wrom?

[ Bericht 31% gewijzigd door Chandler op 07-09-2007 11:26:42 (visfreaks.nl rulez big time) ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  vrijdag 7 september 2007 @ 12:04:35 #170
12880 CraZaay
prettig gestoord
pi_53002157
quote:
Op vrijdag 7 september 2007 09:32 schreef Chandler het volgende:

[..]

Mooi lapje code! maar wat bedoel je met de laatste quote?
Dat je code als het een publieke website is liever ook werkt als JS uit staat denk ik, en dat mensen zonder JS deze alert nooit gaan zien
pi_53002426
Haha, duidelijk ja true true..

Heb je iig nog comments op mjin funcies? hoor graag opbouwende kritiek!
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_53006189
quote:
Op vrijdag 7 september 2007 12:16 schreef Chandler het volgende:
Haha, duidelijk ja true true..

Heb je iig nog comments op mjin funcies? hoor graag opbouwende kritiek!
Wat doet die returnObj parameter in je functie? Parameters zijn om iets door te geven aan een functie, niet voor return values... bovendien zie ik de functie nergens wachten tot er een resultaat is. Er wordt vanuit gegaan dat er meteen resultaat is, dat werkt heel misschien als je op localhost zit te testen maar dat gaat gegarandeerd mis als de request iets langer duurt, want alles gaat asynchroon en het script blijft daar dus niet op wachten. Met AJAX wil je netjes event based werken, maw: een callbackfunctie definieren die pas aangeroepen wordt als alle data ook daadwerkelijk binnen is. Als je dat niet doet heb je (zeker bij meerdere ajax calls door elkaar die van elkaar afhankelijk zijn) grote kans op een zeer instabiele applicatie die moeilijk tot onmogelijk te debuggen is. Been there, done that, got the t-shirt....

Tip: ga niet zelf het wiel opnieuw uitvinden maar gebruik een goede kant en klare AJAX library. AJAX is veel complexer dan de meesten denken en het vereist een fundamenteel andere denkwijze; met gewoon standaard procedureel programmeren (wat jij hier doet) kom je er echt niet.
pi_53006587
Hoi Farenji, ik begrijp je dat je zegt dat je het wiel niet opnieuw moet uitvinden, dat wordt zovaak gezegd maar als we het wiel nooit verder zouden uitvinden waren raceauto's nog steeds zo sloom als slakken

Maar om even inhoudenlijk op je reactie m.b.t. de javascript code in te gaan. die returnOBJ wordt gebruikt om de callbackfunctie aan te geven. Dit omdat ik de standaard submit en get functie wil gebruiken met apparte functies voor het 'benutten' van de output van het script!

Ik heb vanmiddag de scripting weer deels aangepast omdat er toch aardig wat foutjes in zaten. Deze moeten als het goed is nu ook opgelost zijn!.

Verder nog tips qua preformance? ennuh het loopt nu niet meer op localhost hoor maar op http://www.bruggema.nl/ajaxtest
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_53018900
quote:
Op vrijdag 7 september 2007 09:32 schreef Chandler het volgende:
Mooi lapje code! maar wat bedoel je met de laatste quote? Ik heb de code trouwens aangepast
De spelling "brouwser"
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_53019685
quote:
Op vrijdag 7 september 2007 23:09 schreef SuperRembo het volgende:

[..]

De spelling "brouwser"
"ondersteund"
pi_53023941
Haha, ja ik ben nooit geslaagd voor mijn Nederlands maar nu nog inhoudelijk commentaar op mijn scripting?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_53028284
quote:
Op vrijdag 7 september 2007 15:00 schreef Chandler het volgende:
Hoi Farenji, ik begrijp je dat je zegt dat je het wiel niet opnieuw moet uitvinden, dat wordt zovaak gezegd maar als we het wiel nooit verder zouden uitvinden waren raceauto's nog steeds zo sloom als slakken
Als bij elke auto de motor opnieuw uitgevonden zou worden zouden auto's 120 miljoen per stuk kosten en ze zouden voor geen meter rijden.
quote:
Maar om even inhoudenlijk op je reactie m.b.t. de javascript code in te gaan. die returnOBJ wordt gebruikt om de callbackfunctie aan te geven. Dit omdat ik de standaard submit en get functie wil gebruiken met apparte functies voor het 'benutten' van de output van het script!
Hmm in je code die je hier postte dus niet. Daar wordt het resultaat meteen na de ajaxcall in returnObj gestopt en dat was niet handig. Zoals je het nu doet is het wel beter.
pi_53032432
Je hebt gelijk over de kosten maar in mijn geval gaat het om moeite hé..

Vind het zelf wel een aardig gelukt stukje en zal het ook gaan gebruiken voor mijn nieuwe sites
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_53033923
quote:
Op zaterdag 8 september 2007 08:42 schreef Chandler het volgende:
maar nu nog inhoudelijk commentaar op mijn scripting?
* create_http_object probeert voor Firefox eerst al die ActiveX dingen te maken (die natuurlijk niet lukken), pas daarna wordt XMLHttpRequest() aangeroepen. Beetje zonde.
* De parameter returnOBJ returnt niets en is geen object, foute naam dus.
* ajaxSubmit en ajaxGet controleren of create_http_object wel gelukt is en geven dan een melding. Die melding geeft de functie create_http_object zelf ook al.
* Er zit wat dubbele code in, kan vast wel efficienter
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_53035392
quote:
Op zaterdag 8 september 2007 18:45 schreef SuperRembo het volgende:
* create_http_object probeert voor Firefox eerst al die ActiveX dingen te maken (die natuurlijk niet lukken), pas daarna wordt XMLHttpRequest() aangeroepen. Beetje zonde.
Dus eingelijk die XMLHttpRequest eerst proberen en daarna de rest? (zonder controle brouwser!)
quote:
* De parameter returnOBJ returnt niets en is geen object, foute naam dus.
Klopt, heb ik veranderd in stateFunction
quote:
* ajaxSubmit en ajaxGet controleren of create_http_object wel gelukt is en geven dan een melding. Die melding geeft de functie create_http_object zelf ook al.
Dus eingeljik zou ik beter de functie notifyNoAjax(); in create_http_object kunnen zetten?
quote:
* Er zit wat dubbele code in, kan vast wel efficienter
Zou je mij even wat in de richting kunnen duwen van de inefficiente code?

[/quote]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_53036009
quote:
Op zaterdag 8 september 2007 19:52 schreef Chandler het volgende:
Dus eingelijk die XMLHttpRequest eerst proberen en daarna de rest? (zonder controle brouwser!)
Dat zou al beter zijn. Het kan nog mooier (code van Crisp als ik 't goed heb):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if (!window.XMLHttpRequest) 
{
   window.XMLHttpRequest = function() 
   {
      var types = [
         'Microsoft.XMLHTTP',
         'MSXML2.XMLHTTP.5.0',
         'MSXML2.XMLHTTP.4.0',
         'MSXML2.XMLHTTP.3.0',
         'MSXML2.XMLHTTP'   
      ];

      for (var i = 0; i < types.length; i++) 
      {
         try 
         {
            return new ActiveXObject(types[i]);
         } 
         catch(ex) {}
      }
      throw "XMLHttpRequest not supported.";
   }
}


Dan kan je gewoon overal "var request = new XMLHttpRequest()" gebruiken, ook in IE5/6. Als een browser het echt niet ondersteunt geeft ie een error (XMLHttpRequest not supported), tja, met zo'n ouwe browser moet je niet zeuren ;)
quote:
Zou je mij even wat in de richting kunnen duwen van de inefficiente code?
1
2
3
4
5
6
7
8
if (data != "")
{
   xmlHttp.open('GET', url + data + "&cache=" + saveDate.getTime(), true);
}
else
{
   xmlHttp.open('GET', url + "?cache=" + saveDate.getTime(), true);
}


1
2
3
4
5
6
7
8
9
10
if (data != "")
{
   url += data + "&";
}
else
{
   url += "?";
}
url += "cache=" + saveDate.getTime();
xmlHttp.open('GET', url, true);


(Kan natuurlijk korter en efficienter, maar dit is een voorbeeld)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  zondag 9 september 2007 @ 10:18:42 #182
37634 wobbel
Da WoBBeL King
pi_53045056
1
2
3
4
5
6
7
8
9
10
function evalRequest(value) {
     var xmlhttp = new XMLHttpRequest();
     xmlhttp.onreadystatechange = function() {
          if (xmlhttp.readyState==4 && xmlhttp.status==200) {
               eval(xmlhttp.responseText);
          }
     }
     xmlhttp.open("GET", "ajax_check.php?request=barcodecheck&barcode="+value,true);
     xmlhttp.send(null);
 }


de regel met eval ( ) geeft een foutmnelding in IE7 dat er een Syntaxfout is.

Ik gebruik btw eval() omdat ajax_check.php een javascript code teruggeeft
pi_53045395
Wat staat er in xmlhttp.responseText?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  zondag 9 september 2007 @ 11:04:03 #184
37634 wobbel
Da WoBBeL King
pi_53045461
quote:
Op zondag 9 september 2007 10:56 schreef SuperRembo het volgende:
Wat staat er in xmlhttp.responseText?
daar hebben we het probleem al, ajax_check werd gecached nu niet meer

DAnk
pi_53045523
quote:
Op vrijdag 7 september 2007 14:44 schreef Farenji het volgende:
Tip: ga niet zelf het wiel opnieuw uitvinden maar gebruik een goede kant en klare AJAX library.
Voor productie, ja. Voor het aanleren daarentegen valt er heel wat voor te zeggen om een deel van het wiel zelf uit te vinden (en zo complex was AJAX nou ook weer niet).
"If you are depressed you shouldn't be in C major!" - Rick Beato
  zondag 9 september 2007 @ 11:35:40 #186
37634 wobbel
Da WoBBeL King
pi_53045836
- deze was te stom -
  zondag 9 september 2007 @ 23:26:52 #187
37634 wobbel
Da WoBBeL King
pi_53062247
Ik ben echt een held in javascript...en daarom lukt mij het een en ander ook niet.

Ik heb een soort van intranetje geknutseld, waarmee ik computerreparaties kan aanmelden. De PC krijgt een barcode en met die barcode kunnen we de gegevens van de klant meteen opvragen.

1e fout: als ik eerst goede code doe, en dan foute laat ie de rijen van de goede code staan (mag dus niet)
2e fout: als ik meerdere malen een goede code invul blijven de rijen zich opstapelen

Hieronder het een en ander uitgelegd in een super helder filmpje klik op de praatballonnetjes om door te gaan => http://www.dumpzooi.nl/intranet/intranet/intranet.html
De pagina waarop jullie het kunnen testen Werkt om een of andere duistere reden alleen in IE: http://www.dumpzooi.nl/intranet/

De PHP code (in princiepe niet relevant voor dit verhaal, is alleen om te testen):
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
<?php
# fok verwijdert wat backslashes..
header('Cache-Control: no-cache');
header('Pragma: no-cache');

if ( 
$_GET['barcode'] )
{

    if ( 
$_GET['barcode'] == "CO-1337" )
    {

        echo 
"insRow(1,'  <img src="images/toptoright.gif" />Naam','<input type="text" name="textfield2" id="textfield2" value="Smit" />')";
        echo 
"rn";
        echo 
"insRow(2,'  <img src="images/toptoright.gif" />Telefoonnummer','<input type="text" name="textfield2" id="textfield2" value="074-23663593" />')";
        echo 
"rn";
        echo 
"barcodeveldColor('found')";

    
    }
    elseif ( 
$_GET['barcode'] == "CO-1336" )
    {

        echo 
"insRow(1,'  <img src="images/toptoright.gif" />Naam','<input type="text" name="textfield2" id="textfield2" value="Janssen" />')";
        echo 
"rn";
        echo 
"insRow(2,'  <img src="images/toptoright.gif" />Telefoonnummer','<input type="text" name="textfield2" id="textfield2" value="074-26663593" />')";
        echo 
"rn";
        echo 
"barcodeveldColor('found')";

    
    }
    else
    {
    
        echo 
"barcodeveldColor('notfound')";
    
    }

}
else
{

    echo 
"barcodeveldColor('notfound')";

}
?>
pi_53065855
quote:
Op zondag 9 september 2007 23:26 schreef wobbel het volgende:
1e fout: als ik eerst goede code doe, en dan foute laat ie de rijen van de goede code staan (mag dus niet)
2e fout: als ik meerdere malen een goede code invul blijven de rijen zich opstapelen
Dat lijkt me logisch als je nooit rijden verwijderd...
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  maandag 10 september 2007 @ 09:39:15 #189
37634 wobbel
Da WoBBeL King
pi_53067280
quote:
Op maandag 10 september 2007 07:31 schreef SuperRembo het volgende:

[..]

Dat lijkt me logisch als je nooit rijden verwijderd...
maar hoe controleer ik of die rijen al bestaan dan? Ik weet niet waar ik moet beginnen en google geeft me alleen de code om de rijen te verwijderen...
pi_53069998
Dat kan op allerlei manieren. Je kan de rows collection van de table gerbruiken, je kunt zelf bijhouden welke rows je hebt toegevoegd. Je kunt de rijen die je zelf toevoegt een class geven waar je ze aan kan herkennen. Als je altijd dezelfde velden laat zien dan kan je de velden leeg maken of verbergen, via ajax stuur je alleen de waarden van de velden, niet de hele HTML van de velden zelf.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  maandag 10 september 2007 @ 19:52:07 #191
136730 PiRANiA
All thinking men are atheists.
pi_53079403
Ey,
Weet iemand waar dat gifje te vinden is uit firefox dat je te zien krijgt als je op het laden van het tebblad wacht?
Ik heb die nodig voor een ajax-site...
pi_53080166
quote:
Op maandag 10 september 2007 19:52 schreef PiRANiA het volgende:
Ey,
Weet iemand waar dat gifje te vinden is uit firefox dat je te zien krijgt als je op het laden van het tebblad wacht?
Ik heb die nodig voor een ajax-site...
Bedoel je chrome/classic/skin/classic.jar/browser/Thrubber.gif?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  maandag 10 september 2007 @ 20:50:21 #193
37634 wobbel
Da WoBBeL King
pi_53080755
quote:
Op maandag 10 september 2007 20:22 schreef SuperRembo het volgende:

[..]

Bedoel je chrome/classic/skin/classic.jar/browser/Thrubber.gif?
hoe extract je die jar?
pi_53081409
quote:
Op maandag 10 september 2007 20:50 schreef wobbel het volgende:

[..]

hoe extract je die jar?
Gewoon met winzip/winrar/...
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  dinsdag 11 september 2007 @ 07:50:36 #195
136730 PiRANiA
All thinking men are atheists.
pi_53088609
www.ajaxload.info daar heb ik hem gevonden
handige site
  vrijdag 14 september 2007 @ 23:29:28 #196
37634 wobbel
Da WoBBeL King
pi_53186323
Waarom werkt onderstaande NIET in firefox maar wel in IE7
(het gaat om het Ja / Nee verhaal op deze pagina -> http://www.dumpzooi.nl/intranet/

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>
function Kiekeboe_a ()
{
   
   if ( document.getElementById ( 'Barcode' ).value == 'y' )
   {
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeKiekeboe';
      document.getElementById ( 'KlantVeld' ).className = 'KlantVerstopt';
   }
   else
   {
   
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeVerstopt';
      document.getElementById ( 'KlantVeld' ).className = 'KlantKiekeboe';
   }

   
}

function Kiekeboe_b ()
{
   
   if ( document.getElementById ( 'Barcode' ).value == 'n' )
   {
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeKiekeboe';
      document.getElementById ( 'KlantVeld' ).className = 'KlantVerstopt';
   }
   else
   {
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeVerstopt';
      document.getElementById ( 'KlantVeld' ).className = 'KlantKiekeboe';
   }
   
}
</script>


Met volgende HTML codes:

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
<div id="content">
<h2>Reparatie aanmelden</h2>
<form action="#SITE_URL/task_add.php" method="post" name="TaskAdd" id="TaskAdd">
<table width="100%" border="0" cellspacing="0" cellpadding="1">
  <tr>
    <td width="50%" align="left" valign="top">Bevat de PC een barcode?</td>
    <td width="50%" align="left" valign="top">Ja <input type="radio" name="Barcode" id="radio" value="y" onclick="Kiekeboe_a()" /> Nee <input type="radio" name="Barcode" id="radio2" value="n" onclick="Kiekeboe_b()" /></td>
  </tr>
  <tr id="BarcodeVeld" class="BarcodeVerstopt">
   <td colspan="2">
    
    <table width="100%" border="0" cellspacing="0" cellpadding="0" id="ReparatieTabel">
      <tr>
        <td width="50%" align="left" valign="top">  <img src="#SITE_URL/include/images/toptoright.gif" />Barcode</td>
        <td width="50%" align="left" valign="top"><input type="text" name="BarcodeInputVeld" id="BarcodeInputVeld" onBlur="BarcodeCheck(this.value)" style="border: solid #7f9db9 1px;" /> <img src="#SITE_URL/include/images/reload.gif" onclick="BarcodeCheck(document.getElementById ( 'BarcodeInputVeld' ).value)" /></td>
      </tr>
    </table>    
    
    </td>
  </tr>
  <tr id="KlantVeld" class="KlantVerstopt">
    <td colspan="2">
    
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="50%" align="left" valign="top">  <img src="#SITE_URL/include/images/toptoright.gif" />Naam</td>
        <td width="50%" align="left" valign="top"><input type="text" name="textfield2" id="textfield2" /></td>
      </tr>
      <tr>
        <td width="50%" align="left" valign="top">  <img src="#SITE_URL/include/images/toptoright.gif" />Telefoonnummer</td>
        <td width="50%" align="left" valign="top"><input type="text" name="textfield3" id="textfield3" /></td>
      </tr>
    </table>
    
    </td>
  </tr>
 <tr>
    <td align="left" valign="top" colspan="2"> </td>
  </tr>
  <tr>
    <td align="center" valign="top" colspan="2"><input type="image" name="imageField" src="#SITE_URL/include/images/buttons/task_toevoegen.jpg"></td>
  </tr>
</table>


<input type="hidden" name="sid" value="8f99d96f935336c7b8efb70944ff3105" /></form>
</div>
pi_53186606
Je hebt geen element met id="Barcode", wel met name="Barcode". getElementById("Barcode") levert dus niets op. Alleen IE zoekt bij getElementById niet alleen op id maar ook op name.

(Die fout had je makkelijk zelf kunnen vinden als je naar de foutmelding had gekeken die Firefox geeft)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  zaterdag 15 september 2007 @ 19:11:20 #198
37634 wobbel
Da WoBBeL King
pi_53201957
quote:
Op vrijdag 14 september 2007 23:38 schreef SuperRembo het volgende:
Je hebt geen element met id="Barcode", wel met name="Barcode". getElementById("Barcode") levert dus niets op. Alleen IE zoekt bij getElementById niet alleen op id maar ook op name.

(Die fout had je makkelijk zelf kunnen vinden als je naar de foutmelding had gekeken die Firefox geeft)
FF gaf me niks of ik ben blind

maargoed, opgelost

BTW, kan dit niet VEEL korter?

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
function Kiekeboe_a ()
{
   
   if ( document.getElementById ( 'Barcode' ).value == 'y' )
   {
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeKiekeboe';
      document.getElementById ( 'KlantVeld' ).className = 'KlantVerstopt';
   }
   else
   {
   
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeVerstopt';
      document.getElementById ( 'KlantVeld' ).className = 'KlantKiekeboe';
   }

   
}

function Kiekeboe_b ()
{
   
   if ( document.getElementById ( 'Barcode' ).value == 'n' )
   {
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeKiekeboe';
      document.getElementById ( 'KlantVeld' ).className = 'KlantVerstopt';
   }
   else
   {
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeVerstopt';
      document.getElementById ( 'KlantVeld' ).className = 'KlantKiekeboe';
   }
   
}


[ Bericht 33% gewijzigd door wobbel op 15-09-2007 19:29:30 ]
pi_53204759
Beide functies doen eigenlijk hetzelfde: kijken naar de status van de radiobuttons en dan een van de twee velden tonen. Dus dat kan makkelijk in 1 functie.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  zondag 16 september 2007 @ 14:22:29 #200
37634 wobbel
Da WoBBeL King
pi_53218305
quote:
Op zaterdag 15 september 2007 21:07 schreef SuperRembo het volgende:
Beide functies doen eigenlijk hetzelfde: kijken naar de status van de radiobuttons en dan een van de twee velden tonen. Dus dat kan makkelijk in 1 functie.
dan zou alleen onderstaande toch ook moeten werken? Dat ik bij beide radiobuttons zelfde functie aanroep? (alleen dat doet ie dus niet)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function Kiekeboe_a ()
{
   
   if ( document.getElementById ( 'Barcode' ).value == 'y' )
   {
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeKiekeboe';
      document.getElementById ( 'KlantVeld' ).className = 'KlantVerstopt';
   }
   else
   {
   
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeVerstopt';
      document.getElementById ( 'KlantVeld' ).className = 'KlantKiekeboe';
   }

   
}
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')