quote:Op donderdag 1 december 2005 18:29 schreef Chandler het volgende:
LOL
nog weer wat anders; ben voor een vriend m'n enquete ding aan het verbouwen en kom dus weer met wat vraagjes..
De eerste en laatste ik heb een pulldown (select) met meerdere opties... maar wil ff checken of de optie die reeds gechekt is een 0 of hoger bevat (qua option value) hoe kan ik dat checken..? ik gebruik alleen maar een name?anyone?
Heel simpel, een multiple selectbox is een array, je telt eerst het aantal items in de array, dan loop je er met een while/for loop doorheen en stel je ze in op selected.quote:Op zaterdag 3 december 2005 14:07 schreef Swetsenegger het volgende:
Ook ik heb een selectbox vraagje.
Hoe kan ik met javascript alle opties in een multiple selectbox selecteren?
De properties van het event-object zijn bijna bij elke browser weer anders, het is een zooitje. Maar bij Quirksmode.org staat uitgelegd hoe je de rechter muisknop detecteerd.quote:Op vrijdag 2 december 2005 13:21 schreef wipes66 het volgende:
Ik heb ook nog een vraagje; hoe kan ik een functie kopppelen aan een rightclick event, zodat het in ie EN in firefox werkt??
quote:Op zaterdag 3 december 2005 15:36 schreef pc-fr34k het volgende:
[..]
Heel simpel, een multiple selectbox is een array, je telt eerst het aantal items in de array, dan loop je er met een while/for loop doorheen en stel je ze in op selected.
1 2 3 4 5 6 7 | obj = MM_findObj("assigned[]"); obj.focus(); for(i=0;i<obj.length;i++){ obj.options[i].selected = true; } } |
Dank jequote:Op zaterdag 3 december 2005 16:48 schreef SuperRembo het volgende:
[..]
De properties van het event-object zijn bijna bij elke browser weer anders, het is een zooitje. Maar bij Quirksmode.org staat uitgelegd hoe je de rechter muisknop detecteerd.
Je moet er wel rekening mee houden dat je bijvoorbeeld in Firefox niet kunt voorkomen dat het context menu verschijnt.
Maar dat betekend niet dat je script niet werkt. Het script wordt gewoon uitgevoerd alleen komt er wel een context-menu. Nutteloos dus als 'kopieer beveiliging' maar bv voor andere functies waaraan je de rechtermuisknop wilt verbinden goed te gebruiken, alleen een beetje irritant dat je dan een menu krijgt.quote:Op zaterdag 3 december 2005 23:30 schreef SuperRembo het volgende:
Ik (en vele andere FF-gebruikers) heb "allow scripts to disable or replace context menus" uit staan.
Wat een leuk ding, ik kan daar wel uren mee spelen.quote:Op zondag 4 december 2005 11:11 schreef Chandler het volgende:
Ik heb trouwens een leuke javascript drag en drop gevonden
http://www.sitepoint.com/books/dhtml1/examples/fileman.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | if(is_numeric($_GET['id']) && is_numeric($_GET['right'])){ deleteLeaf($_GET['right'],$_GET['id']); } } function deleteLeaf($right,$id){ $query="DELETE FROM menu WHERE id=".$id." LIMIT 1"; mysql_query($query); $query="UPDATE menu SET rgt=rgt-2 WHERE rgt>".$right; mysql_query($query); $query="UPDATE menu SET lft=lft-2 WHERE lft>".$right; mysql_query($query); header("location: ".$_SERVER['PHP_SELF']); } |
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 | var url = "checkProduct.php?id="; // The server-side script var http = getHTTPObject(); function handleHttpResponse() { if (http.readyState == 4) { results = http.responseText; if(results!=0){ if(confirm('Aan dit menu-item zijn produkten gekoppeld!\nIndien u dit menu-item verwijderd, moet u er rekening mee houden de produkten aan een ander menu-item te koppelen.\nMenu-item verwijderen?')){ alert('verwijder'); } }else{ if(confirm('Weet u zeker dat u dit menu-item wilt verwijderen?')){ alert('verwijderd') } } } } function checkProduct(id) { http.open("GET", url + escape(id), true); http.onreadystatechange = handleHttpResponse; http.send(null); } function getHTTPObject() { var xmlhttp; /*@cc_on @if (@_jscript_version >= 5) try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } @else xmlhttp = false; @end @*/ if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp = false; } } return xmlhttp; } </script> |
1 |
1 2 3 4 5 6 | http.open("GET", url + escape(id), true); http.onreadystatechange = handleHttpResponse(id); http.send(null); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 | 'images/apple.jpg', 'images/banana.jpg', 'images/cherry.jpg' ]; function showRandomImage() { var img = document.getElementById('myImage'); var url = imageUrls[Math.floor(Math.random() * imageUrls.length)]; img.src = url; } window.onload = showRandomImage; |
Ik weet niet precies hoe je pagina in elkaar zit, maar stel dat je een lijst met menu items hebt met elk een delete knop. Als je dan achter elkaar op twee verschillende delete knoppen drukt (voordat de httprequest klaar is), dan gebruik je de id van de tweede knop voor de response van de eerste knop.quote:
Ok, ik heb de functie geinclude in de eerste functie nuquote:Op donderdag 8 december 2005 21:05 schreef SuperRembo het volgende:
(Vervolg op [PHP/(My)SQL] voor dummies - Deel 17)
[..]
Ik weet niet precies hoe je pagina in elkaar zit, maar stel dat je een lijst met menu items hebt met elk een delete knop. Als je dan achter elkaar op twee verschillende delete knoppen drukt (voordat de httprequest klaar is), dan gebruik je de id van de tweede knop voor de response van de eerste knop.
En als je het dan toch met een global doet, gebruik dan een betere naam.
location.href?quote:Op donderdag 8 december 2005 21:02 schreef Swetsenegger het volgende:
Heeft javascript een equivalent voor $_SERVER['PHP_SELF'] ?
Alles binnen <noscript> zie je alleen als je javascript uit hebt staan </noscript>.quote:Op vrijdag 9 december 2005 00:21 schreef DionysuZ het volgende:
is er ook een manier om te detecteren of iemand javascript aan heeft staan? (met n xmlhttprequest ofzo)
stiekem getvpt
Opgelost door alleen dit te gebruiken:quote:Op maandag 12 december 2005 00:07 schreef JeRa het volgende:
Probleempje met onclick. Hoe stel ik die in bij dynamisch aangemaakte elementen?
var nieuweLink = document.createElement('a');
var label = document.createTextNode('blaat');
nieuweLink.appendChild(label);
//Stel de onclick in
nieuweLink.setAttribute('onclick', 'alert(\'waah!\')');
//Maar dit werkt alleen in Firefox
Hoe dit ook in IE werkende te krijgen?
1 2 3 4 | { alert(this); //dit blijkt te werken } |
Het ging me vooral om het idee dat ik het object tijdens de onclick kon meegevenquote:Op maandag 12 december 2005 00:12 schreef SuperRembo het volgende:
Je kunt gewoon nieuweLink.onclick = function(){ alert('waah!') } gebruiken.
Je kunt het ook met nieuweLink.addEventLister() (in FF), of nieuweLink.attachEvent() (in IE) gebruiken.
Hoezo dat? Heeft javascript niet net zoals java een (al is het maar matige) garbage collector?quote:Op maandag 12 december 2005 00:16 schreef SuperRembo het volgende:
Aha, bedoelde je dat. Dat heet een "closure".
Wel een beetje uitkijken, hier kan je (vooral in IE) enorme gekeugenlekken mee creeren.
Ik heb in ieder geval er al voor gezorgd dat de directe callbacks uit zo'n klein mogelijke code bestaan en de 'grote' functies aanroepen. Zal in een later stadium het eens testen in IE, hoewel ik me nu niet kan voorstellen hoe ik ooit een circulaire referentie zou kunnen krijgen op deze manier.quote:Op maandag 12 december 2005 07:51 schreef SuperRembo het volgende:
Javascript heeft idd een garbage collector, maar in IE kan het mis gaan als je circulaire referenties hebt met DOM nodes. MS geeft er zelf informatie over. Ik had zelf op een gegeven moment een script dat bij elke div die te voorschijn kwam 10MB geheugen opeiste
Waarom dat? Omdat er bij element.attribute meer blokjes groen zijn dan bij element.setAttribute(attribute, etc)?quote:Tja, waarom werkt iets in de ene browser wel en in de andere niet...
Je kan beter element.className = 'blaat' gebruiken. Zie ook Quirksmode.org.
Ik heb me even ingelezen over circulaire referenties bij closures. Op zich maak ik wel gebruik van de structuur waarop memory leaks kunnen ontstaan in IE, maar aan de andere kant, ik zou niet weten hoe ik het zonder zou moeten doenquote:Op maandag 12 december 2005 08:32 schreef JeRa het volgende:
[..]
Ik heb in ieder geval er al voor gezorgd dat de directe callbacks uit zo'n klein mogelijke code bestaan en de 'grote' functies aanroepen. Zal in een later stadium het eens testen in IE, hoewel ik me nu niet kan voorstellen hoe ik ooit een circulaire referentie zou kunnen krijgen op deze manier.
1 2 3 4 5 6 7 | element.onclick = functie; function functie() { roepGrotereFunctieAan(this); } |
1 2 3 4 5 6 7 8 | var link = document.createElement('A'); // Set properties for link ... container.appendChild(link) // Maar zo var link = container.appendChild(document.createElement('A')); // Set properties for link ... |
1 2 3 4 5 6 7 8 9 10 11 12 | var r=255, b=16; function bg() { document.bgColor = b++, r-; setTimeout(1000); } </script> |
1 |
1 2 3 | // of zo document.body.style.backgroundColor = 'rgb(255, 0, 0)'; |
Oke bedankt, ik zal het nog even proberenquote:Op dinsdag 13 december 2005 21:13 schreef SuperRembo het volgende:
setTimeout werkt anders, zie ook W3Schools
[ code verwijderd ]
De achtergrondkleur stel je zo in:
[ code verwijderd ]
Dat kan niet bij mijn script, aangezien elk gemaakt element ook nog gewijzigde properties nodig heeft.quote:Op maandag 12 december 2005 13:31 schreef SuperRembo het volgende:
Het scheelt ook als je nieuwe elementen direct in de tree hangt:
[ code verwijderd ]
Ik eis niets.quote:Op dinsdag 13 december 2005 22:34 schreef SuperRembo het volgende:
Is het script alleen voor eigen gebruik dat je IE7 kan eisen?
1 |
dank, gelukt (met behulp van googlequote:Op donderdag 15 december 2005 17:38 schreef DionysuZ het volgende:
window.open?
Da's een hele goede vraag en met jouw andere kijk hierop zou ik mijn probleem kunnen oplossen... ware het niet dat ik die input later weer nodig ga hebben om de titel en jaartal in een eigen database te kunnen stoppen. En dat is weer het handigst met een form.quote:Op vrijdag 16 december 2005 20:22 schreef SuperRembo het volgende:
Waarom gebruik je een input box als je het gedrag van een input box niet wil?
Mja ik heb er keer op keer op gehamerd dat custom scrollbars counter intuitive werken. Eerst wilde hij dat ding ook nog aan de linkerkant, helemaal tegen de intuitie in. Helaas mocht het niet baten en kan ik toch zo'n ding gaan implementerenquote:Op zaterdag 24 december 2005 15:40 schreef SuperRembo het volgende:
Custom scrollbars zijn idd meestal zwaar irritant.
tnxquote:Je kunt het onscroll event gebruiken. Zie ook de Event compatibility tables bij quirksmode.org.
link.removeAttribute('href');quote:Op vrijdag 23 december 2005 19:29 schreef JeRa het volgende:
Als ik een <a>-tag middels javascript toevoeg zonder href-attribuut geeft dit hetzelfde effect als dat je het direct als html zou presenteren: de tekst tussen <a> en </a> wordt géén link.
Nu is het zo dat als je iets dergelijks als dit uitvoert:
link.href = '#';
Je dan een link maakt van alles binnen die <a>-tag. Echter wil dit:
link.href = '';
De link weer niet verwijderen (als in, het wordt niet meer klikbaar). Is hier een andere methode voor?
1 2 3 4 5 | { // array met imageformaten // if filename is een 'image'(lees uit image formaten) dan... } |
1 2 3 | // Het is een gif, jpg, jpeg of png } |
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 | function test(filename) { var ext = new Array(); var f = new Array(); var fxt = ""; var res = -1; ext[0] = "gif"; ext[1] = "bmp"; ext[2] = "jpg"; ext[3] = "png"; ext[4] = "jpeg"; f = filename.split('.'); fxt = f[f.length-1]; for (x = 0; x < ext.length; x++) { if (ext[x] == fxt) { res = x; } } if (res == -1) { alert("Image type NOT found"); } else { alert("image type is found: " + fxt); } } test("erik.gif"); test("erik.txt"); test("erik.png"); </script> |
Helaas werkt die nietquote:Op zondag 25 december 2005 13:10 schreef SuperRembo het volgende:[ code verwijderd ]
1 2 3 4 5 6 7 8 | { document.writeln(' <td><a target="_blank" href="' + url + '&s=64">64</a>, <a target="_blank" href="' + url + '&s=128">128</a>, <a target="_blank" href="' + url + '&=256">256</a>, <a target="_blank" href="' + url + '&s=384">384</a>, <a target="_blank" href="' + url + '&s=512">512</a></td>'); } else { document.writeln(' <td> </td>'); } |
'een errortje'?quote:Op zondag 25 december 2005 15:10 schreef Chandler het volgende:
dan werkt ie nog niet, krijg een errortjeennuh ik zal het eens met " proberen, met ' werkt het iig niet.
vooralsnog geen problemen hiermee! bedankt!quote:Op woensdag 4 januari 2006 16:01 schreef DionysuZ het volgende:
in je popup:
<a href="#" onclick="opener.window.location.reload();self.close();return false;">Close</a>
Zoals je het in bijna elke andere taal ook doetquote:Op vrijdag 6 januari 2006 13:24 schreef Desdinova het volgende:
dus hoe moet ik hem dan gebruiken?
<input type="button" value="klik" onclick="window.location = 'http://www.test.com';">quote:Op vrijdag 6 januari 2006 13:38 schreef JeRa het volgende:
[..]
Zoals je het in bijna elke andere taal ook doet
window.location = 'http://www.gmta.nl/';
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 | Yoffset = 16; // change the popup position. var old, skn, iex = (document.all), yyy = -1000; var ns4 = document.layers; var ns6 = document.getElementById&&!document.all; var ie4 = document.all; if (ns4) skn = document.popup; else if (ns6) skn = document.getElementById("popup").style; else if (ie4) skn = document.all.popup.style; if(ns4) { document.captureEvents(Event.MOUSEMOVE); } else { skn.visibility = "visible"; skn.display = "none"; } document.onmousemove = get_mouse; function p(img, text) { var content = "<TABLE WIDTH=80 BORDER=1 border=000000 CELLPADDING=0 CELLSPACING=0>" + "<TD ALIGN=center><IMG SRC=" + img + "</img><FONT COLOR=black SIZE=2>" + text + "</FONT></TD>" + "</TABLE>"; yyy = Yoffset; if(ns4) { skn.document.write(content); skn.document.close(); skn.visibility = "visible" } if(ns6) { document.getElementById("popup").innerHTML=content; skn.display = '' } if(ie4) { document.all("popup").innerHTML=content; skn.display = '' } } function get_mouse(e) { var x=(ns4||ns6)?e.pageX:event.x+document.body.scrollLeft; skn.left = x+Xoffset; var y = (ns4||ns6)?e.pageY:event.y+document.body.scrollTop; skn.top = y+yyy; } function k() { yyy = -1000; if(ns4) { skn.visibility = "hidden"; } else if (ns6||ie4) skn.display = "none" } |
1 2 3 4 5 6 | POSITION: absolute; VISIBILITY: hidden; Z-INDEX:200; FONT-SIZE: 12px; } |
1 |
1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 | Bronbestand: http://localhost/persoonlijk/linkbase.bruggema.nl/index.php Regel: 25 Fout: skn has no properties Bronbestand: http://localhost/persoonlijk/linkbase.bruggema.nl/index.php Regel: 59 en Fout: skn has no properties Bronbestand: http://localhost/persoonlijk/linkbase.bruggema.nl/index.php Regel: 86 |
1 2 3 4 5 6 7 8 9 10 11 | var el, i = 0, howmany = 0; var last =0; while (el = allINPUTS.item(i++)){ if (el.id == 'color_id'){ if(el.value>last){ var last =el.value; } } } |
quote:
1 2 3 4 5 6 7 8 9 10 11 12 13 | { var all = document.getElementsByTagName(tags); var currentmax = 0; for (var x =0;x<all.length;x++) { if (all[x].id == 'color_id') { if (parseInt(all[x].value) > currentmax) currentmax = all[x].value; } } alert(currentmax); } |
Waarom doe je dan alleen een parseInt bij de vergelijking? currentmax kan nu nog steeds een niet-numerieke waarde bevatten.quote:Op woensdag 18 januari 2006 11:27 schreef ralfie het volgende:
ik denk dat de parseInt het verschil maakt
1 2 3 4 5 6 7 8 9 10 11 12 | var s="Dit is de tekst"; var i=0; function tekst() { i++; t1.innerHTML=s.subtr(0,i); setTimeout('tekst()',500) } </script> |
Jawel, heb dit in de body staan:quote:Op maandag 23 januari 2006 10:06 schreef SynchroSteve het volgende:
Gokje, de foutmelding is 't1 is not defined' ? (Of iets wat daar op neer komt)
Vervang t1 dan door document.getElementById(<insert element id>);
1 2 | <div id=t1></div> |
Inderdaad, dat gaat niet werken in Lynx hoorquote:Op maandag 23 januari 2006 13:25 schreef SuperRembo het volgende:
Een lekker ranzige Internet Explorer only oplossing
Het werkt in Firefox, en of die in andere browsers niet werkt zal mij een zorg wezen. Het is een opdracht voor school en daar wordt het alleen maar in Internet Explorer bekeken.quote:Op maandag 23 januari 2006 13:25 schreef SuperRembo het volgende:
Een lekker ranzige Internet Explorer only oplossing
window.iFrameNaam.document.write()quote:Op maandag 23 januari 2006 16:21 schreef Da_Koen het volgende:
Weet iemand of het mogelijk om een document.write() naar een iframe te doen(dus gewoon in javascript text writen naar een frame)? Zo ja hoe?
window.previewRingtone.document is leeg of geen objectquote:Op maandag 23 januari 2006 17:03 schreef R-Mon het volgende:
[..]
window.iFrameNaam.document.write()
Probeer dat eens?
Klopt ja, dat was ik nog vergetenquote:Op maandag 23 januari 2006 16:32 schreef SuperRembo het volgende:
Het scriptje blijft trouwens eindeloos doorlopen
Het mag wel mits beide frames van hetzelfde domein komen.quote:Op maandag 23 januari 2006 18:03 schreef pc-fr34k het volgende:
Mag je wel in een frame schrijven met javascript? Lijkt mij een beveiligingslek namelijk. Voorbeeld:
Werkt helaas ook nietquote:Op maandag 23 januari 2006 17:59 schreef _Jeffrey_ het volgende:
window.frames['frameNaam'].document.write ?
quote:Op donderdag 2 februari 2006 10:12 schreef JeRa het volgende:
@Desdinova
Een combinatie van window.onload en document.formnaam.submit()?
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 | { if (!check_PCname(form.elements['pc_name'].value)) { document.getElementById("pcname_note").style.display = 'block'; document.getElementById("pcname_note").style.visibility = 'visible'; return false; } if (!check_radio(form.elements['LK1'])) { alert('U heeft niet aangegeven of het om een leerkracht systeem gaat'); return false; } knop.disabled=true; return true; } function check_radio(radio) { var i = radio.length; while (i--) if (radio[i].checked) return true; return false; } function check_PCname(field) { field2 = new String(field.toUpperCase()) if(field2.match("/PWA[0-9]{3}/i")) { return true; } else { return false; } } |
1 2 3 4 5 6 7 8 | <tr> <td>PC Naam</td> <td><input type="text" id="pc_name" maxlength="6" /></td> </tr> <tr id="pcname_note" style="text-align:center;color:#FF0000;visibility:hidden;display:none;"> <td colspan="2">Er is een verkeerde pc naam gekozen</td> </tr> |
quote:Op vrijdag 10 februari 2006 15:28 schreef R-Mon het volgende:
if(field2.match(/PWA[0-9]{3}/i)) zonder quotes dus.
Dan moet je beter zoekenquote:Op maandag 13 februari 2006 00:02 schreef ikke_ook het volgende:
Ik heb al in het javascript van fok zitten kijken, maar ik kan het niet echt vinden..
1 2 3 4 5 | var winwidth = (this.naturalWidth < screen.availWidth ? this.naturalWidth : screen.availWidth); var winheight = (this.naturalHeight < screen.availHeight ? this.naturalHeight : screen.availHeight); winopen(basehref + "templates/foksilver/showimage.html?" + escape(this.src), "", winwidth, winheight, "scrollbars=no,left=0,top=0"); } |
Ja, of je rukt het uit een database waar je de afmetingen eerder hebt ingezet, of je gebruikt getimagesize()quote:Op maandag 13 februari 2006 11:17 schreef ikke_ook het volgende:
Hmm, dit werkt natuurlijk niet als ik een ander plaatje wil openen met een klik op een icoontje...
Moet ik dan eerst t plaatje openen met fopen ofzo om te kunnen zien wat de grootte van het te openen plaatje is?
Tis hier Javascript voor dummies he, niet php voor dummiesquote:Op maandag 13 februari 2006 11:40 schreef JeRa het volgende:
[..]
Ja, of je rukt het uit een database waar je de afmetingen eerder hebt ingezet, of je gebruikt getimagesize()
En dat stukje wat SuperRembo liet zien, heb je daar niets aan? Heb je überhaupt wel de javascript sources van Fok! (of GoT wat dat betreft) goed doorgezocht?quote:Op maandag 13 februari 2006 11:56 schreef ikke_ook het volgende:
[..]
Tis hier Javascript voor dummies he, niet php voor dummies
De phpoplossing weet ik wel, maar ik zoek iets met javascript
Ik heb blijkbaar niet goed genoeg gekeken, maar dat stukje van superrembo gebruikt this.naturalwidth oid. Dus daar heb je al een plaatje en daar haal je op die manier de juiste grootte uit. Maar ik wil een icoontje gebruiken waar je op moet klikken. Als je klikt moet hij een _andere_ foto openen in zo'n schermpje. dus dat this.naturalwidth werkt niet want this bevat niet de info van de te openen foto maar van de afmetingen van het icoontje.quote:Op maandag 13 februari 2006 12:00 schreef JeRa het volgende:
[..]
En dat stukje wat SuperRembo liet zien, heb je daar niets aan? Heb je überhaupt wel de javascript sources van Fok! (of GoT wat dat betreft) goed doorgezocht?
Laadt het plaatje eerst in een div ontzichtbaar, dan heb je ook de width en de height.quote:Op maandag 13 februari 2006 11:17 schreef ikke_ook het volgende:
Hmm, dit werkt natuurlijk niet als ik een ander plaatje wil openen met een klik op een icoontje...
Moet ik dan eerst t plaatje openen met fopen ofzo om te kunnen zien wat de grootte van het te openen plaatje is?
Ja ok. Heb je geprobeerd een nieuwe image aan te maken in een javascript variabele, de src ervan in te stellen en daar de gegevens van op te vragen zodra hij geladen is?quote:
Dat bedoelde ik dus met iets van fopen..quote:Op maandag 13 februari 2006 12:08 schreef JeRa het volgende:
[..]
Ja ok. Heb je geprobeerd een nieuwe image aan te maken in een javascript variabele, de src ervan in te stellen en daar de gegevens van op te vragen zodra hij geladen is?
quote:Op maandag 13 februari 2006 12:12 schreef ikke_ook het volgende:
[..]
Dat bedoelde ik dus met iets van fopen..
Hoe doe je zoiets dan?
1 2 3 4 5 6 7 8 9 10 11 | { document.getElementById('imageLoader').innerHTML='<img id="blaat" src="' +url +'" onload=openImage(this.id)''' } function openImage(id) { width=document.getElementById(id).width height=document.getElementById(id).height } <div style="display:none;" id='imageLoader'></div> <img src="icon.gif" onclick="loadImage('plaatje.jpg')" /> |
aha thnx tis geluktquote:Op maandag 13 februari 2006 18:07 schreef SuperRembo het volgende:
In de popup heb je window.opener, daarmee kan je bij de pagina komen die de popup geopend heeft. Dan moet je de waarden uit het popup-form overzetten naar het pagina-form.
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 | <colgroup><col width="28"><col width="28"><col width="28"> <col width="28"><col width="28"><col width="28"><col width="28"></colgroup> <tbody id="tabelnaam_collapsed" class="button"> <tr> <td colspan="7" width="168"> <a href="javascript:expand('tabelnaam');">> Tabel Naam</a> </td> </tr> </tbody> <tbody id="tabelnaam_expanded" class="button" style="display: none;"> <tr> <td colspan="7" width="168"> <a href="javascript:collapse('tabelnaam');">v Tabel Naam</a> </td> </tr> <tr class="choice"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> </tbody> </table> |
1 2 3 4 5 6 7 8 9 10 11 | { document.getElementById( id + '_collapsed' ).style.display = 'none'; document.getElementById( id + '_expanded' ).style.display = ''; } function collapse( id ) { document.getElementById( id + '_expanded' ).style.display = 'none'; document.getElementById( id + '_collapsed' ).style.display = ''; } |
1 2 3 4 5 6 7 8 9 10 11 | <tr> <td> <table id="child"> <tr> <td><a href="javascript:alert(getParentName('child'));">klik</a></td> </tr> </table> </td> </tr> </table> |
1 |
1 |
1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | var el = p_el; var parentId; while (el = el.parentNode) { if (el.nodeName == 'TABLE') { parentId = el.id; break; } } if (parentId) { alert('Parent "' + parentId + '" found for "' + p_el.id +'".'); } else { alert('No parent found for "' + p_el.id +'".'); } } |
Je kan btw ipv object.style.whatStyle ook gebruikmaken van object.className en zo meerdere style attributen ineens changen door er een andere class aan te hangen.quote:Op vrijdag 10 februari 2006 15:25 schreef mschol het volgende:
hmmm ik zit met het volgende probleem:
ik laat door Javascript een ingevulde naam checken d.m.v. een regexp maar de regexp is kennelijk niet goed (of me js is verkeerd opgesteld)
javascript:
[ code verwijderd ]
en de html pagina, form tag+ veld
[ code verwijderd ]
de naam die mag worden ingevoerd mag zijn PWA000 t/m PWA999
de regex heb ik aan gemaakt m.b.v regexbuddy
wat doe ik verkeerd?
Dank je!quote:Op woensdag 22 februari 2006 18:16 schreef SuperRembo het volgende:
Dat heeft niets met javascript te maken. Als je even googelt dan vind je zo hoe je dat voor elkaar krijgt.
Misschien toch handig om dat topic dan zelf te openen, dan houden we 't hier bij javascript. Wel zo overzichtelijkquote:Op woensdag 22 februari 2006 18:24 schreef APK het volgende:
Ik zie zo snel geen 'encoderen van Windows Media files voor dummies.'
Ik zal het morgen eens proberen.quote:Op woensdag 22 februari 2006 18:40 schreef SuperRembo het volgende:
Misschien toch handig om dat topic dan zelf te openen, dan houden we 't hier bij javascript. Wel zo overzichtelijk
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | function toggle(targetId, start, end) { for(i=start; i<=end; i++) { if (document.getElementById) { target = document.getElementById(targetId + i); target.style.visibility = (target.style.visibility == 'hidden') ? 'visible' : 'hidden'; } } } </script> <form method='post' action='index.php?content=Log in' onsubmit='return validate_form()'> <table> <tr><td>Gebruikersnaam: </td><td><input type='text' name='gebruikersnaam' maxlength=20></td></tr> <tr><td>E-mail adres: </td><td><input type='text' name='email' maxlength=32></td></tr> <tr><td>Heb je een registratienummer?</td> <td>Ja<input name='booleanregnummer' type='radio' onfocus=toggle('outside',1,2)>Nee<input name='booleanregnummer' type='radio' onfocus=toggle('outside',1,2) checked></td> </tr> <tr><td><div id='outside1' style='visibility: hidden'>Registratienummer</div></td> <td><div id='outside2' style='visibility: hidden'><input name='regnummer' type='text'></div></td> </tr> </table> <input type='submit' name='submitreg' value='Verzenden'> </form> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | for(i=start; i<=end; i++) { if (document.getElementById) { target = document.getElementById(targetId + i); target.style.visibility = bvalue ? 'visible' : 'hidden'; } } } </script> <form method='post' action='index.php?content=Log in' onsubmit='return validate_form()'> <table> <tr><td>Gebruikersnaam: </td><td><input type='text' name='gebruikersnaam' maxlength=20></td></tr> <tr><td>E-mail adres: </td><td><input type='text' name='email' maxlength=32></td></tr> <tr><td>Heb je een registratienummer?</td> <td>Ja<input name='booleanregnummer' type='radio' onfocus=toggle('outside',true,1,2)>Nee<input name='booleanregnummer' type='radio' onfocus=toggle('outside',false,1,2) checked></td> </tr> <tr><td><div id='outside1' style='visibility: hidden'>Registratienummer</div></td> <td><div id='outside2' style='visibility: hidden'><input name='regnummer' type='text'></div></td> </tr> </table> <input type='submit' name='submitreg' value='Verzenden'> </form> |
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 | { var races = new Array("Human", "Ork", "Dwarf", "Elf", "Troll"); document.write("<select name=\"playerRace\" id=\"playerRace\" onchange=\"calculateBuildingPointsRace()\">"); for (i=0;i<races.length;i++) { document.write("<option value=\"" + races[i] + "\">" + races[i] + "</option>"); } document.write("</select>"); } function calculateBuildingPointsRace() { var myRace = document.getElementById("playerRace").value; switch(myRace) { case "Human": var raceCost = 0; break case "Ork": var raceCost = 20; break case "Dwarf": var raceCost = 25; break case "Elf": var raceCost = 30; break case "Troll": var raceCost = 40; break } document.write(raceCost); } |
Thnx, het werkt inderdaad... damn dat was simpel.quote:Op zaterdag 25 februari 2006 16:07 schreef Webby het volgende:
document.write(raceCost); veranderen in: document.getElementById("IDNameVanBetreffendInputVeld").value = raceCost;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | { var attributes = new Array("bod", "agi", "rea", "str", "cha", "int", "log", "wil", "edge", "mag", "res"); for (i=0;i<attributes.length;i++) { if(document.getElementById(attributes[i]).value < 6) { var attributeCost = (parseInt(document.getElementById(attributes[i]).value) - 1)*10; window.alert(attributes[i] + "heeft als kosten" + attributeCost); var totalAttributesCost = parseInt(totalAttributesCost) + parseInt(attributeCost); } } window.alert(parseInt(totalAttributesCost)); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var attributes = new Array("bod", "agi", "rea", "str", "cha", "int", "log", "wil", "edge", "mag", "res"); var attributeCost = 0; var totalAttributesCost = 0; for (i = 0; i < attributes.length; i++) { if(document.getElementById(attributes[i]).value < 6) { attributeCost = (parseInt(document.getElementById(attributes[i]).value) - 1) * 10; alert(attributes[i] + "heeft als kosten" + attributeCost); totalAttributesCost += attributeCost; } } alert(totalAttributesCost); } |
1 |
Alleen een submitbutton zonder form?quote:Op zondag 26 februari 2006 03:39 schreef Nevermind het volgende:
Wat moet ik bij een form bij action of onsubmit invullen als ik niet wil dat de pagina verandert?
Dit werkt niet:
[ code verwijderd ]
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 | <body onLoad="setTimeout( 'sendRequest( \'twee.html\' )', 1500 )"> <script type="text/javascript"> ---8<--- <knip> xmlhttprequest laden function sendRequest( file ) { xmlHttp.open( "GET", file, true ); xmlHttp.onreadystatechange = getRequest; xmlHttp.send( null ); } function getRequest() { --- 8<--- <knip> bij readystate 4 het volgende uitvoeren dynContent( 'testdiv', xmlHttp.responseText ); } function dynContent( id, content ) { if( ie = false ) { if( document.getElementById ) { rng = document.createRange(); el = document.getElementById( id ); rng.setStartBefore( el ); htmlFrag = rng.createContextualFragment( content ); while ( el.hasChildNodes() ) el.removeChild( el.lastChild ); el.appendChild( htmlFrag ); } } else { document.getElementById( id ).innerHTML = content; } } </script> <div id="testdiv">één</div> </body> </html> |
1 2 | twee |
1 |
Volgens mij kan dat niet zomaar. Ik weet niet precies of er een workaround is, maar volgens mij gaat dat niet op de manier die je nu probeert...ik kan je alleen even niet verder helpen nu.quote:Op zondag 26 februari 2006 22:50 schreef Nevermind het volgende:
Nog een vraagje:
Als ik de inhoud van een DIV vervang door een stuk tekst waar een stuk javascriptcode zit, dan wordt deze niet geparsed. Moet innerHTML er niet voor zorgen dat de javascript wel geparsed wordt? Klein opzetje om het te verduidelijken:
test.html
[ code verwijderd ]
twee.html:
[ code verwijderd ]
drie.html:
[ code verwijderd ]
Ik zou willen dat er "drie" in #testdiv komt te staan, maar ik kom tot twee.Op deze manier werkt het dus niet, maar hoe wel?
Ik gebruik deze AJAX Class: http://twilightuniverse.com/projects/sackquote:Op maandag 27 februari 2006 01:10 schreef Nevermind het volgende:
Alle vragen die ik de laatste tijd stel hebben te maken met een hobbyproject waar ik al veel te lang mee bezig benIk wil een windows-achtige interface hebben, waar schermpjes gedragen kunnen
worden en scripts uitgevoerd kunnen worden zonder de pagina te refreshen. Misschien zeggen screenshots wat meer;
De eerste versie werkte met windows die een iframe bevatten, en werkte vrij redelijk, maar werd erg traag met veel schermpjes en was niet erg crossbrowser-vriendelijk. Toen besloot ik over te gaan op een hidden iframe die de inhoud van alle schermpjes veranderde, maar daar liep ik ook tegen veel vreemde crossbrowserfouten aan. En nu ben ik bezig met een xmlHttprequest-versie die tot op heden erg crossbrowservriendelijk is en snel, alleen nu loop ik weer tegen allerlei limitaties en vreemde browserspecifieke fouten aan.
Als het eenmaal af is kan het voor een hele hoop dingen gebruikt worden, een CMS en een mailclient bijvoorbeeld. En ik wil het graag als interface hebben om een hoop dingen van mijn thuisserver te regelen. Maar tot op heden is er weinig resultaat en al vele uren werk
Die ie = false regel is inderdaad fout werkt nog steeds in IE overigens, maar verandert verder niks aan de vraag. Ik zal het eens met eval proberen
Ik kan zo snel niet vinden in welke browsers het zou moeten werken, maar als ik even snel de code door kijk dan werkt het iig niet in IE5.0. Verder wel aardig opgezet, alleen niet allemaal even efficient gecodeerd.quote:Op maandag 27 februari 2006 09:28 schreef Webby het volgende:
[..]
Ik gebruik deze AJAX Class: http://twilightuniverse.com/projects/sack
In Combinatie met deze DOM scripts: http://www.scottandrew.com/weblog/articles/cbs-events
Geheel crossbrowser en erg multifunctioneel inzetbaar.
En weer opgelost.quote:Op zaterdag 25 februari 2006 19:21 schreef Webby het volgende:
Je definineert de vars attributeCost en totalAttributeCost elke keer opnieew. defineer ze aan het begin en gebruik ze daarna.
Probeer hem eens zo:
[ code verwijderd ]
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 | function displaySkillGroups() { var skillGroups = new Array ("Choose skillgroup", "Atheletics", "Biotech", "Close Combat", "Conjuring", "Cracking", "Electronics", "Firearms", "Influence", "Mechanic", "Outdoors", "Sorcery", "Stealth", "Tasking"); document.write("<select name=\"playerClass\" id=\"playerClass\" onchange=\"addRow()\">"); for (i=0;i<skillGroups.length;i++) { document.write("<option value=\"" + skillGroups[i] + "\">" + skillGroups[i] + "</option>"); } document.write("</select>"); } //genereer nieuwe tabel rij function addRow() { var x=document.getElementById('skillGroups').insertRow(1); var y=x.insertCell(0); y.innerHTML="..."; } //html code wat ik wil: <table id="skillGroups" border="1"> <tr> <td> <script type="text/javascript"> displaySkillGroups(); </script> </td> </tr> </table> |
1 2 3 4 5 6 7 8 9 10 | var options = ['Apple', 'Banana', 'Cherry']; var parent = document.getElementById(p_id); var select = parent.appendChild(document.createElement('SELECT')); var o; for (var i = 0; i < options.length; i++) { o = new Option(options[i], i); select.options.add(o); } } |
1 2 | <div id="container"></div> |
Hmmm, ik zie niet waarom het op die andere manier niet moet kunnen. Ik zal even wat ik heb online gooien...quote:Op dinsdag 28 februari 2006 23:10 schreef SuperRembo het volgende:
Ik denk niet dat dat gaat lukken met document.write. Als je de select met DOM functies maakt gaat het vrij eenvoudig.
Voorbeeldje:
[ code verwijderd ]
[ code verwijderd ]
Zie bijvoorbeeld ook HTML DOM Reference.
Hoe wil je met document.write aangeven waar de html toegevoegd moet worden?quote:Op dinsdag 28 februari 2006 23:23 schreef ToBe het volgende:
Hmmm, ik zie niet waarom het op die andere manier niet moet kunnen.
Thnxquote:Op dinsdag 28 februari 2006 23:36 schreef SuperRembo het volgende:
[..]
Hoe wil je met document.write aangeven waar de html toegevoegd moet worden?
De functie uit mijn voorbeeld geef je de id mee van het element waar de dropdown in gemaakt moet worden; simpel.
Ik ben weer wat verder dan eerst, alleen loop ik nu tegen het probleem aan dat ik weer een "probleem" krijg wat ik hierboven al eerder had.quote:Op dinsdag 28 februari 2006 23:23 schreef ToBe het volgende:
[..]
Hmmm, ik zie niet waarom het op die andere manier niet moet kunnen. Ik zal even wat ik heb online gooien...
link (deze doet het goed (met puntjes ipv script))
link (deze doet het niet goed (met <script>))
Kan iemand nog even een blik werpen? Het gaat dus om de pulldown bij "choose skillgroup".
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | { var skillGroups = new Array ("Choose skillgroup", "Atheletics", "Biotech", "Close Combat", "Conjuring", "Cracking", "Electronics", "Firearms", "Influence", "Mechanic", "Outdoors", "Sorcery", "Stealth", "Tasking"); document.write("<select name=\"playerClass\" id=\"playerClass\" onchange=\"addRow()\">"); for (i=0;i<skillGroups.length;i++) { document.write("<option value=\"" + skillGroups[i] + "\">" + skillGroups[i] + "</option>"); } document.write("</select>"); } function addRow() { var x=document.getElementById('skillGroups').insertRow(1); var y=x.insertCell(0); y.innerHTML = displaySkillGroups; } |
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 | if (!e) return; var newCell_skillGroup = e; var newSelect = newCell_skillGroup.appendChild(document.createElement('SELECT')); var skillGroups = new Array ("Choose skillgroup", "Atheletics", "Biotech", "Close Combat", "Conjuring", "Cracking", "Electronics", "Firearms", "Influence", "Mechanic", "Outdoors", "Sorcery", "Stealth", "Tasking"); var newOptions; for (var i = 0; i < skillGroups.length; i++) { newOptions = new Option(skillGroups[i], i); newSelect.options.add(newOptions); } } function addRow() { var skillGroup = document.getElementById('skillGroups').insertRow(1); var newCell_skillGroup = skillGroup.insertCell(0); if (!addSkillGroups(newCell_skillGroup)) { //weet niet of het echt deleteCell is, //maar het is wel zo netjes dat als je select insert een error geeft //je ook de cell weer verwijderd skillGroup.deleteCell(0); //daarna false terug geven, die kan je opvangen en waarmee je //een alert("addRow() failed") kan weergeven; return false; } return true; } |
Nogal, je spreekt submit() nu aan alsof het een normale functie is maar het is een methode van het form. Probeer dit: <a href="javascript:document.search.submit()">Search</a> Als dat niet werkt kan je eerst proberen je input een andere name te geven, deze is namelijk hetzelfde als die van je form.quote:Op donderdag 2 maart 2006 13:00 schreef Desdinova het volgende:
<form style="margin:0px; padding:0px;" enctype="multipart/form-data" name="search" id="1" action="index.php" method="get">
<input type="textfield" name="search" style="height:18px; font-size:10px;">
<a href="javascript:submit()">Search</a>
</form>
hij submit nietkijk ik ergens overheen?
werktquote:Op donderdag 2 maart 2006 13:10 schreef R-Mon het volgende:
[..]
Nogal, je spreekt submit() nu aan alsof het een normale functie is maar het is een methode van het form. Probeer dit: <a href="javascript:document.search.submit()">Search</a> Als dat niet werkt kan je eerst proberen je input een andere name te geven, deze is namelijk hetzelfde als die van je form.
Netter is document.forms["search"].submit();quote:Op donderdag 2 maart 2006 13:10 schreef R-Mon het volgende:
[..]
Nogal, je spreekt submit() nu aan alsof het een normale functie is maar het is een methode van het form. Probeer dit: <a href="javascript:document.search.submit()">Search</a> Als dat niet werkt kan je eerst proberen je input een andere name te geven, deze is namelijk hetzelfde als die van je form.
1 2 3 4 5 6 7 8 9 | //eventueel alle li's uit een container (ul) die een id heeft: document.getElementById("liContainer").getElementsByTagName("li"); for (i = 0; i < all_listItems.length; i++) { listItemName = all_listItems[i].name; if (listItemName.substring(0, 2) = "m_") { //maybe eerst nog checken of er wel een .name is en maybe moet die 2 wel een 1 zijn, ik ben net wakker } } |
Ja, je gebruikt javascript voor iets dat helemaal niet nodig is....quote:Op donderdag 2 maart 2006 13:00 schreef Desdinova het volgende:
[..stukje code voor een form met de submit in javascript ...]
hij submit nietkijk ik ergens overheen?
1 2 3 4 5 6 7 | enctype="multipart/form-data" name="search" id="IDattribuut_mag_nooit_alleen_een_getal_bevatten" action="index.php" method="get"> <input type="textfield" name="search" style="height:18px; font-size:10px;"> <button type="submit">Search</button> </form> |
1 2 3 | if (listItemName.substring(0, 2) = "m_") { |
1 2 3 | Bronbestand: file:///D:/09382409282/javascript.js Regel: 9 |
PHP en Javascript zijn compleet anders, de 'onveiligheid' bij PHP heeft te maken met bv code-injection e.d. en ja, daar is 'eval' nogal kwetsbaar voor ...quote:Op vrijdag 3 maart 2006 11:54 schreef Nevermind het volgende:
Ik weet dat php's eval zorgvuldig gebruikt moet worden ivm de veiligheid, maar hoe zit dat met javascripts eval? Kan dat op eenofandere manier misbruikt worden?
Niet overdrijven, ik weet prima het verschil tussen beide en heb al jaren ervaring met php. Er zit alleen goed in mijn hoofd gestampt "eval == evil", vandaar dat ik even navraag doe.quote:gewen jezelf liever af om te snel en te makkelijk PHP en Javascript te vergelijken
Hoe zit het met de ondersteuning van eval? Kan elke moderne browser daar mee omgaan?quote:Een tweede punt is echter dat er eigenlijk vrijwel nooit nut is om 'eval' te gebruiken bij javascript, en vrijwel iedere situatie waar iemand eval zou willen gebruiken, meestal veel effectiever met andere middelen gedaan kan worden (bv DOM en standaard collections...)
Ecmascript is een standaard (Ecma-262)... overigens voldoet bv Actionscript (van Flash) ook aan deze standaard, alswel naar ik meen applescript en is het toe te passen als programma interne taal in bv programma's als MM Dreamweaver en Adobe Photoshop...quote:Op vrijdag 3 maart 2006 12:07 schreef Nevermind het volgende:
Hoe zit het met de ondersteuning van eval? Kan elke moderne browser daar mee omgaan?
Ik ben dan ook zeker geen professioneel developerquote:Op vrijdag 3 maart 2006 12:16 schreef RM-rf het volgende:
[..]
Maar ik blijf erbij dat enkeleen slechte programmeur/scripter erop terugvalt, en er _altijd_ betere alternatieven zijn voor gebruik van 'eval'..
1 2 3 4 5 6 7 8 9 10 11 12 13 | var str = ""; // loop iedere 'split' van / for(i in a) { // loop .length -1 if (i != (a.length -1)) { // voeg de split toe + een / str = str + a[i] + "/" ; } } |
1 2 3 4 5 6 | var str = path.replace(/\\/g, '/'); // splitten op /, laatste verwijderen en weer joinen.. str = str.split('/'); delete str[str.length]; str = str.join |
1 2 | path = path.replace(/\/[^/]*$/, '');// Strip file name |
1 2 3 4 5 6 7 8 9 10 11 12 | { // type kan drop, create of insert zijn. var all_listItems = document.getElementsByTagName("input"); for (i = 0; i < all_listItems.length; i++) { listItemName = all_listItems[i].id; // is er ook een soort stristr (zoals php? want dan kan ik zoeken op [drop] of [create] of [insert] en daarop moet ik zoeken. } } |
probeerquote:Op zondag 5 maart 2006 10:49 schreef Chandler het volgende:
ik snap het nu.
Mooi dan heb ik natuurlijk weer de volgende, mijn projectje vodert namelijk al aardig!
Reeds ben ik bezig met een scriptje die checkboxjes van een bepaald type moet checken/unchecken.. nu zat ik dus met het idee
[ code verwijderd ]
1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | { var all_listItems = document.getElementById("mysqldata").getElementsByTagName("input"); var str = ""; for (i = 0; i < all_listItems.length; i++) { if (all_listItems[i].type == "checkbox") { id = all_listItems[i].name; if (id.match(find)) { str += all_listItems[i].name + "\r\n"; } } } } |
1 2 3 4 | alert('bla[die]bla'.match('\\[die\\]')); // of match met een regexp als parameter alert('bla[die]bla'.match(/\[die\]/)) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | { var all_listItems = document.getElementById("mysqldata").getElementsByTagName("input"); var str = ""; for (i = 0; i < all_listItems.length; i++) { if (all_listItems[i].type == "checkbox") { id = all_listItems[i].name; if (id.match("\\[" + find + "\\]")) { id.checked = false; str += all_listItems[i].name + "\r\n"; } } } alert(str); } |
Dit is inderdaad het idee wat ik voor ogen had, ik loop alleen nog steeds vast. Ik blijf de melding krijgen:quote:Op woensdag 1 maart 2006 11:03 schreef Webby het volgende:
Je hebt ook getElementsByTagName()
Je kan dan in een globale variabele bijhouden hoeveel td's je hebt, of misschien in jou geval altijd de laatste selecteren dmv .length
Je krijgt dan iets in de trant van:
var myTable_all_tableCells = document.getElementById("myTable").getElementsByTagName("td");
var myTable_lastCell = myTable_all_tableCells[all_myTable_tableCells.length];
myTable_lastCell.innerHTML = displaySkillGroups();
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 | function displaySkillGroups() { var skillGroups = new Array ("Choose skillgroup", "Atheletics", "Biotech", "Close Combat", "Conjuring", "Cracking", "Electronics", "Firearms", "Influence", "Mechanic", "Outdoors", "Sorcery", "Stealth", "Tasking"); document.write("<select name=\"playerClass\" id=\"playerClass\" onchange=\"addRow()\">"); for (i=0;i<skillGroups.length;i++) { document.write("<option value=\"" + skillGroups[i] + "\">" + skillGroups[i] + "</option>"); } document.write("</select>"); } //genereer nieuwe tabel rij function addRow() { var x=document.getElementById('skillGroups').insertRow(1); var y=x.insertCell(0); var myTable_all_tableCells = document.getElementById("skillGroups").getElementsByTagName("td"); var myTable_lastCell = myTable_all_tableCells[all_myTable_tableCells.length]; window.alert(myTable_lastCell); myTable_lastCell.innerHTML = displaySkillGroups(); //y.innerHTML="..."; } |
1 2 3 4 5 6 7 8 | var output = "<select> ..." for (i=0;i< skillGroups.length; i++) { output += "<option>.." } output += "</select>" return output } |
gelikt!quote:Op maandag 6 maart 2006 16:20 schreef RM-rf het volgende:
in plaats van de 'document.write' in displaySkillGroups;
plaats deze eens in een variabele en aan het eind van de functie return die variabele:
[ code verwijderd ]
'document.write' is enkel mogelijk tijdens het renderen van de pagina (of in het document.layers model tijdens het re-renderen van een layer)
1 2 3 4 5 | Bronbestand: http://localhost/persoonlijk/php2hexv2.5/phpv25# Regel: 251, Kolom: 28 Broncode: path = path.replace(/\/[^/]*$/, '');// Strip file name |
onChange?quote:Op donderdag 9 maart 2006 15:20 schreef Webby het volgende:
Ik zit met een input checkbox. Welk event is er wat fired bij checken van die box, zelfs mouseup fired te vroeg, dan is hij nog niet daadwerkelijk checked en onchange fired pas als je hem deselecteerd. Ik wil onCheck oid.
Kan dat?
Owja, das waar. Maar wat wil je precies doen dan dat precieze timing nodig heeft?quote:Op donderdag 9 maart 2006 15:33 schreef Webby het volgende:
onchange fired pas na deselecteren van de checkbox
1 |
1 2 | opener.document.forms['form'].elements[ myName ].value = "data"; |
moet je wel [] gebruiken achter de naam, anders wordt de waarde overschrevenquote:Op maandag 13 maart 2006 10:13 schreef Webby het volgende:
Zonder " wordt het als variabele geïnterpreteerd ipv. string
Waarom gebruik je eigenlijk een variabele naam die doet vermoeden dat het een array is, terwijl het een naam is?
Als je gewoon meerdere hidden inputs op een rij zet met dezelfde naam wordt het een array ...
ik weet niet of het sneller kan (en dit is een beetje omslachtige methode), maar zo zou ik het doen:quote:Op zaterdag 1 april 2006 20:16 schreef DionysuZ het volgende:
hee, klein vraagje: hoe kan ik met javascript in een string alle newlines omzetten naar <br />?
1 |
1 |
Load!-knop werkt niet, als ik m'n rechtermuismenu open krijg ik scrollbalken.quote:Op zondag 2 april 2006 21:21 schreef Chandler het volgende:
Mensen, willen jullie eens kijken of
http://www.bruggema.nl/php2hex/test12312231.html (het menu van stap 1 t/m stap6) werkt? qua javascript?
Tnx!!
ps heb het zelf al in ff 1.5.0.1 getest en daar werkt het en IE 6.0 ook
void(0) doet niets (void = leegte) in javascript. Het wordt vaak gebruikt in hyperlinks om ervoor te zorgen dat er geen nieuwe pagina wordt geladen, bijvoorbeeld:quote:Op dinsdag 4 april 2006 17:47 schreef R-Mon het volgende:
[..]
Vraagje van mezelf, wat is toch dat javascript:void(0) dat ik overal zie?
1 |
officieel mag je in de href geen javascript gebruiken. Ik doe dan altijd eenquote:Op dinsdag 4 april 2006 17:58 schreef JeRa het volgende:
[..]
void(0) doet niets (void = leegte) in javascript. Het wordt vaak gebruikt in hyperlinks om ervoor te zorgen dat er geen nieuwe pagina wordt geladen, bijvoorbeeld:
[ code verwijderd ]
1 |
Aha, zoiets dacht ik al.quote:Op dinsdag 4 april 2006 17:58 schreef JeRa het volgende:
[..]
void(0) doet niets (void = leegte) in javascript. Het wordt vaak gebruikt in hyperlinks om ervoor te zorgen dat er geen nieuwe pagina wordt geladen, bijvoorbeeld:
[ code verwijderd ]
Ik ook.quote:Op dinsdag 4 april 2006 19:03 schreef DionysuZ het volgende:
[..]
officieel mag je in de href geen javascript gebruiken. Ik doe dan altijd een
[ code verwijderd ]
zodat er ook geen nieuwe pagina wordt geladen (ook niet #)
dus zo deed je dat om te voorkomen dat je pagina weer terug naar top springt...quote:Op dinsdag 4 april 2006 19:03 schreef DionysuZ het volgende:
[..]
officieel mag je in de href geen javascript gebruiken. Ik doe dan altijd een
[ code verwijderd ]
zodat er ook geen nieuwe pagina wordt geladen (ook niet #)
Ook een zeer handige manier om te combineren met question dialogsquote:Op dinsdag 4 april 2006 19:26 schreef mschol het volgende:
[..]
dus zo deed je dat om te voorkomen dat je pagina weer terug naar top springt...
1 |
Alleen waarom zou je dan nog een link gebruiken?quote:Op dinsdag 4 april 2006 19:03 schreef DionysuZ het volgende:
[..]
officieel mag je in de href geen javascript gebruiken. Ik doe dan altijd een
[ code verwijderd ]
zodat er ook geen nieuwe pagina wordt geladen (ook 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 | <head> <title>Handel</title> <script> function countdown() { cl = document.getElementById("timer"); cl.innerHTML = cl.innerHTML == 0 ? changeNumbers() : cl.innerHTML-1; setTimeout("countdown()", 1000); } function changeNumbers() { var stockbied, callbied1, callbied2, callbied3, putbied1, putbied2, putbied3; document.getElementById("stockbied").innerHTML = stockbied = 28 + Math.floor(400*Math.random())/100; document.getElementById("stocklaat").innerHTML = stockbied + 0.01 + Math.floor(15*Math.random())/100; document.getElementById("callbied1").innerHTML = callbied1 = 1 + Math.floor(400*Math.random())/100; document.getElementById("callbied2").innerHTML = callbied2 = callbied1 - 0.05 - Math.floor(40*Math.random())/100; document.getElementById("callbied3").innerHTML = callbied3 = callbied2 - 0.05 - Math.floor(40*Math.random())/100; document.getElementById("putbied1").innerHTML = putbied1 = 1 + Math.floor(400*Math.random())/100; document.getElementById("putbied2").innerHTML = putbied2 = putbied1 - 0.05 - Math.floor(40*Math.random())/100; document.getElementById("putbied3").innerHTML = putbied3 = putbied2 - 0.05 - Math.floor(40*Math.random())/100; for (i=1; i<=3; i++) { document.getElementById("calllaat"+i).innerHTML = eval("callbied"+i) + 0.01 + Math.floor(15*Math.random())/100; document.getElementById("putlaat"+i).innerHTML = eval("putbied"+i) + 0.01 + Math.floor(15*Math.random())/100; } return 30; } </script> </head> <body onload="countdown()"> <table border="1"> <tr align="center"> <td colspan="5">Stock</td> </tr> <tr> <td colspan="2">Bied</td><td></td><td colspan="2">Laat</td> </tr> <tr> <td id="stockbied" colspan="2">0</td><td></td><td id="stocklaat" colspan="2">0</td> </tr> <tr> <td colspan="5"> </td> </tr> <tr align="center"> <td colspan="2">Call</td><td id="timer">0</td><td colspan="2">Put</td> </tr> <tr> <td>Bied</td><td>Laat</td><td>Uitoefenprijs</td><td>Bied</td><td>Laat</td> </tr> <tr> <td id="callbied1">0</td><td id="calllaat1"></td><td>28</td><td id="putbied1"></td><td id="putlaat1"></td> </tr> <tr> <td id="callbied2">0</td><td id="calllaat2"></td><td>30</td><td id="putbied2"></td><td id="putlaat2"></td> </tr> <tr> <td id="callbied3">0</td><td id="calllaat3"></td><td>32</td><td id="putbied3"></td><td id="putlaat3"></td> </tr> </table> </body> </html> |
Dat komt door de manier waarop floating points werken. Floating point getallen zijn getallen die geen letterlijke representatie van een fractioneel getal opslaan, maar een benadering. Af en toe krijg je dat soort afrondingsfouten die je makkelijk kunt opvangen door de getallen bijvoorbeeld op twee decimalen af te kappen.quote:Op donderdag 6 april 2006 21:08 schreef mrbombastic het volgende:
Ik ben wat aan het programmeren in Javascript en daarvoor heb ik de floor() functie nodig uit de Math class.
Alleen gaat dit niet helemaal goed om duistere redenen. Ipv bijv. 2.78 krijg ik af en toe 2.7800000000003 of 2.777777777795 oid.
Wie weet waar dit aan ligt?
[ code verwijderd ]
Nee hoor, dat kun je slimmer aanpakken.quote:Op donderdag 6 april 2006 23:03 schreef mrbombastic het volgende:
Ok, ik gebruik nu de functie toFixed() maar. Nadeel hiervan is dat je variabelen strings worden en je die dus weer moet gaan parsefloaten.
Je hebt inderdaad gelijk, maar als ik mijn aantal regels niet wil verdubbelen moet ik het zo doen:quote:Op donderdag 6 april 2006 23:05 schreef JeRa het volgende:
[..]
Nee hoor, dat kun je slimmer aanpakken.
Alle berekeningen die je doet rond je niét af en hou je dus gewoon als floating points. Op het moment dat je iets wilt laten zien aan de gebruiker, gebruik je toFixed()die sla je dan eventueel op in een andere variabele, zolang je de bronvariabelen maar niet aanpast.
1 2 | document.getElementById("stocklaat").innerHTML = (stockbied + 0.01 + 0.15*Math.random()).toFixed(2); |
Niet erg overzichtelijk. Als je dat over een tijdje terug leest dan lees le er gegarandeerd overheen.quote:Op donderdag 6 april 2006 23:41 schreef mrbombastic het volgende:
Weet eigenlijk niet wat men vindt van een expressie met daarin een assignment.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | function movepic(img_name,id,foto) { document[img_name].src="images/aanbod/" +id+ "/klein/foto" +foto+ ".png"; document.links.popup.onclick="javascript:window.open('http://het adres.nl/naar/" +id+ "/groot/foto" +foto+ ".png','Foto', 'width=700,height=500,resizable,'); return false"; } </script> <a name="popup" href="#" onclick="javascript:window.open('http://het adres.nl/naar/2/groot/foto1.png','Foto', 'width=700,height=500,resizable,'); return false"> <img src="images/aanbod/2/klein/foto1.png" alt="" name="grootplaatje" width="175" height="131" border="0" /> </a> <a href="#" onmouseover="movepic('grootplaatje','2','1')"> <img src="images/aanbod/2/klein/foto1.png" width="41" height="36" border="0" alt="foto1" /> </a> <a href="#" onmouseover="movepic('grootplaatje','2','2')"> <img src="images/aanbod/2/klein/foto2.png" width="41" height="36" border="0" alt="foto2" /> </a> <a href="#" onmouseover="movepic('grootplaatje','2','3')"> <img src="images/aanbod/2/klein/foto3.png" width="41" height="36" border="0" alt="foto3" /> </a> |
1 2 3 4 5 6 7 8 9 10 | function PopLink(p_el) { var url = p_el.href; if (url) { var win = window.open(url, 'PopLink', 'resizable=yes,width=400,height=300'); if (win) win.focus(); } return false; } </script> |
1 2 3 | onclick="return PopLink(this)"><img src="http://www.google.com/logos/Logo_25wht.gif" alt="Google"></a> |
dit is idd beterquote:Op zaterdag 22 april 2006 18:41 schreef SuperRembo het volgende:
Ik weet niet wat je nou precies wil.
Een beetje vreemd om in elke mouseover de onclick te zetten. Je hoort ook geen "javascript:" in onclick/onmouseover events. document[img_name].src werkt niet in firefox.
Een nette manier om popup links te maken:
[ code verwijderd ]
[ code verwijderd ]
1 2 3 | Bronbestand http://fok.chillosophy.nl/layout3.html Regel 236 |
1 |
Daarom hebben ze tevens een idquote:Op dinsdag 25 april 2006 11:09 schreef Scorpie het volgende:
je moet ze geen name geven, maar een id. Daarom heet het ook ElementById
OMFG!quote:Op dinsdag 25 april 2006 12:26 schreef Webby het volgende:
Maar je hebt de td met de iframes het id "tabbox" en daar zet je vervolgens via addTab html in welke geen iframes bevat, waardoor frame0 helemaal niet bestaat, plaats je id eens 1 td omhoog
Omdat ik een cssnewbie benquote:Op dinsdag 25 april 2006 12:38 schreef Webby het volgende:
En als je zonodig de pseudoclass :hover wilt gebruiken, waarom gebruik je dan gaan a tags die je met style display:block vormt ?
Geef eens de kortst mogelijke code waarmee je dit probleem hebtquote:Op maandag 1 mei 2006 21:27 schreef Swetsenegger het volgende:
Korte vraag
ik een var betaling gedeclareerd.
Als ik die met een document.write ergens in mijn html zet, komt deze ook netjes terug.
Maar ik krijg hem niet ge-alert in een onclick wat ik ook probeer, ik krijg of niets terug of ik krijg[ object nodelist] als alert terug
Eh...quote:Op maandag 1 mei 2006 21:28 schreef JeRa het volgende:
[..]
Geef eens de kortst mogelijke code waarmee je dit probleem hebtkan goed zijn dat het een scope-probleem is bijvoorbeeld.
1 |
Die alert is javascript en betaling ook, dus waarom plak je het als strings aan elkaar?quote:Op maandag 1 mei 2006 21:33 schreef Swetsenegger het volgende:
Een regel lager staat een input type="button" welke op een onClick="alert(''+betaling+'');" moet doen.
En die geeft een object.
betaling is een variabele en alert is een functie. Ook in javascript horen vars buiten quotes.quote:Op maandag 1 mei 2006 21:37 schreef Litpho het volgende:
[..]
Die alert is javascript en betaling ook, dus waarom plak je het als strings aan elkaar?
Zou onClick="alert( betaling );" niet het gewenste resultaat moeten opleveren?
1 2 3 4 5 | <td><input type="radio" name="betaling" onChange="setGoal('test')" />methode 1 <input type="radio" name="betaling" onChange="setGoal('test2')" />methode 2 </td> </tr> |
1 2 3 4 5 6 7 8 9 | <td><input type="radio" name="betaling" onChange="setGoal('test')" />methode 1 <input type="radio" name="betaling" onChange="setGoal('test2')" />methode 2 </td> </tr> <tr> <td><input type="button" value="Bestellen" onClick="alert(betaling);" /> </td> </tr> |
Doe je met php dan ook het volgende?quote:Op maandag 1 mei 2006 22:44 schreef Swetsenegger het volgende:
[..]
betaling is een variabele en alert is een functie. Ook in javascript horen vars buiten quotes.
1 2 | echo(''.$test.''); |
1 2 3 4 5 6 7 8 9 10 11 12 | <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title></title> <script type="text/javascript" src="drag.js"></script> </head> <body> <div id="drag" style="position: absolute; left: 100px; top: 100px; height: 200px; width: 200px; background-color: #fff000;"></div> </body> </html> |
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 | var x = 0; var y = 0; if (!ie) document.captureEvents(Event.MOUSEMOVE) document.onmousedown = set_drag; document.onmouseup = reset_drag; function set_drag(){ document.onmousemove = drag; } function reset_drag(){ document.onmousemove = null; } function drag(e) { var div = document.getElementById('drag'); if (ie) { x = event.clientX + document.body.scrollLeft; y = event.clientY + document.body.scrollTop; } else { x = e.pageX; y = e.pageY; } var width = parseInt(div.style.width); var height = parseInt(div.style.height); //var xin = (x - (parseInt(div.style.left))); //var yin = (y - (parseInt(div.style.top))); x = (x < 0) ? 0 : x - (width / 2); y = (y < 0) ? 0 : y - (height / 2); div.style.top = y; div.style.left = x; return true; } |
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 | public class Class1 extends TekenApplet { double hoek; public void initialiseer() { maakAnimatieMogelijk(); achtergrondkleur("blauw"); } public void tekenprogramma() { links(hoek); vierkant(100); links(hoek); vierkant(50); penUit(); vooruit(75); rechts(90); vooruit(25); rechts(90); penAan(); links(hoek); vierkant(50); } void vierkant(double z) { penUit(); vooruit(z/2); rechts(90); vooruit(z/2); vulAan("oranje"); rechts(90); vooruit(z); rechts(90); vooruit(z); rechts(90); vooruit(z); rechts(90); vooruit(z); vulUit(); } public void animatie() { while(animatieLopend()) { hoek = hoek + .5; tekenOpnieuw(); } } } |
java != javascriptquote:Op woensdag 7 juni 2006 13:57 schreef joupee het volgende:
Ik ben bezig met een beetje java, maar ik kom er niet uit.
Het is de bedoeling dat er een vierkant ronddraait en dat er dan op de hoekpunten kleinere vierkantjes ronddraaien. De code zit er tot nu toe als volgt uit:
[ code verwijderd ]
Het probleem nu is dat de kleinere vierkantjes aan elkaar gekoppeld zitten en ik heb geen flauw idee hoe ik dit kan verhelpen...
Iddquote:Op woensdag 7 juni 2006 14:04 schreef mschol het volgende:
[..]
java != javascript
dus ik zou als ik jou was een apert topic openen
hmm.. dus echt een dummie he, ik snap niet eens wat je hiermee bedoeltquote:Op woensdag 7 juni 2006 14:04 schreef mschol het volgende:
[..]
java != javascript
dus ik zou als ik jou was een apert topic openen
dit topic gaat over javascript, een scripting taal voor webpaginas, wat totaal iets anders is als Java, wat een programmeertaal is. Zoek even verder en je zult een centraal Java topic vindenquote:Op woensdag 7 juni 2006 14:14 schreef joupee het volgende:
[..]
hmm.. dus echt een dummie he, ik snap niet eens wat je hiermee bedoelt![]()
oke.. toch bedanktquote:Op woensdag 7 juni 2006 14:19 schreef ralfie het volgende:
[..]
dit topic gaat over javascript, een scripting taal voor webpaginas, wat totaal iets anders is als Java, wat een programmeertaal is. Zoek even verder en je zult een centraal Java topic vinden
Iemand die mijn probleem snapt en kan helpen?quote:Op woensdag 7 juni 2006 06:26 schreef fokME2 het volgende:
Ik wil graag een divje kunnen draggen, op het moment kan ik de div 'vastpakken' en gaat slepen.
Als je met het divje gaat slepen, dan blijft je muis altijd in het midden van de div. Ik wil echter dat de muis op de plaats blijft waar ik de div 'vastpakte'.
html:
[ code verwijderd ]
javascript:
[ code verwijderd ]
Ik heb het al geprobeerd door ipv de helft van de width van de div, de 'xin' van de x af te trekken. Dit klopt echter niet, want:
x - parsint(div.style.left) = x - xin
xin = parseint(div.style.left), dus dan wordt er niet meer 'gedragged'.
Iemand een oplossing voor mijn probleem?![]()
quote:Op woensdag 7 juni 2006 15:06 schreef fokME2 het volgende:
[..]
Iemand die mijn probleem snapt en kan helpen?![]()
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 | <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <meta name="generator" content="Microsoft FrontPage 4.0"> <title></title> <script type="text/javascript" src="drag.js"></script> </head> <body> <div id="drag" onmousedown="startdragging(event)" onmouseup="stopdragging()" style="position: absolute; left: 100px; top: 100px; height: 200px; width: 200px; background-color: #fff000;"></div> <script type="text/javascript"> function stopdragging() { document.onmousemove=null; } var xrel=0; var yrel=0; function startdragging(e) { var div=document.getElementById('drag'); var x=0; var y=0; if (document.all) { x = event.clientX + document.body.scrollLeft; y = event.clientY + document.body.scrollTop; } else { x = e.pageX; y = e.pageY; } xrel=x-parseInt(div.style.left); yrel=y-parseInt(div.style.top); document.onmousemove=drag; } function drag(e) { var div = document.getElementById('drag'); if (document.all) { x = event.clientX + document.body.scrollLeft; y = event.clientY + document.body.scrollTop; } else { x = e.pageX; y = e.pageY; } div.style.left=x-xrel; div.style.top=y-yrel; } </script> </body> </html> |
Wat is je probleem daarmee? Eventueel voeg je het later dmv. javascript toe aan het elementquote:Op woensdag 7 juni 2006 16:09 schreef fokME2 het volgende:
Ik wilde juist vermijden om met onmousedown en onmouseup in de html te werken, maar volgens mij zit er niet veel anders op?
cache. daar kun je omheen door een random waarde mee te sturenquote:Op woensdag 7 juni 2006 15:27 schreef mschol het volgende:
ik zit nou al even te klooien met ajax (wat mij opzich wel een leuke techniek lijkt)
en ik wilde eigenlijk weten of mensen hier nog goede (duidelijke) nederlandse tutorials hierover weten..
en weet iemand wat ik kan doen tegen het feit dat wanneer ik op een link klik in IE dat de eerste ker hij wel netjes de pagina veranderd maar de 2de klik op een link doet ie niks?
hmmm oke ga ik even naar kijken...quote:Op woensdag 7 juni 2006 17:59 schreef DionysuZ het volgende:
[..]
cache. daar kun je omheen door een random waarde mee te sturen(of een no-cache header, maar dat heb ik nog niet geprobeerd)
1 |
ik heb nl. met AJAX een chat ingebouwd in een site. Alles werkte mooi in firefox maar ik kreeg klachten dat het in IE niet werkte. Toen ik keek zag ik dat de betreffende div wel opnieuw ingevuld werd met een nieuwe innerHTML, maar dat de code die erin kwam hetzelfde bleef. Een random (idd met math.random()) toegevoegd en alles werkte mooi.quote:Op woensdag 7 juni 2006 18:08 schreef mschol het volgende:
[..]
hmmm oke ga ik even naar kijken...
--edit--
[ code verwijderd ]
ik heb het stukje code met Math.random() toegevoegd maar helaas helpt dit niet..
een no-cache header kan ik nog even naar kijken..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | { try { xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { } xmlhttp.onreadystatechange = function() { if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) { document.getElementById(divname).innerHTML = xmlhttp.responseText; } } xmlhttp.open("GET", dest); xmlhttp.send(null); } function timedCount() { var t; loadurl('chat.php?p=' + Math.floor(Math.random()*50000), 'chatmsgs'); t=setTimeout("timedCount()",3000); } |
ik ga eens kijken wat ik darmee kan..quote:Op woensdag 7 juni 2006 18:22 schreef DionysuZ het volgende:
Mijn (werkende) code:
[ code verwijderd ]
ik ga dat in mijn geval ook even proberenquote:Op woensdag 7 juni 2006 18:27 schreef JeRa het volgende:
De netste oplossing lijkt me toch de juiste headers meesturen in het PHP-bestand, want zo'n random waarde is wel erg hackish
Van deze pagina:
[ code verwijderd ]
en het werktquote:Op woensdag 7 juni 2006 18:32 schreef DionysuZ het volgende:
[..]
ik ga dat in mijn geval ook even proberentnx
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 | function createrequestobject() { req = false; // branch for native XMLHttpRequest object if(window.ActiveXObject) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} } } else if(window.XMLHttpRequest) { req = new XMLHttpRequest(); } if( !req) { return false; } return req; } |
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 | function sndreq(action) { if(http) { http.onreadystatechange = handleresponse; http.open('GET','data.php?id='+ action, true); http.send(null); } } function handleresponse() { if (http.readyState == 4) { // only if "OK" if (http.status == 200) { //things to do for correct display display(); return true; } else { alert("There was a problem retrieving the data:\n" + http.statusText); } } } function display() { document.getElementById('content').innerHTML = http.responseText; return true; } |
1 |
Okok, doe het wel metquote:Op woensdag 7 juni 2006 17:13 schreef JeRa het volgende:
[..]
Wat is je probleem daarmee? Eventueel voeg je het later dmv. javascript toe aan het element
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 | var yrel = 0; var obj = null; function startdragging(e, id){ var x = 0; var y = 0; obj = document.getElementById(id); if(document.all){ x = event.clientX + document.body.scrollLeft; y = event.clientY + document.body.scrollTop; } else { x = e.pageX; y = e.pageY; } xrel = x - parseInt(obj.style.left); yrel = y - parseInt(obj.style.top); obj.style.cursor = 'move'; document.onmousemove = drag; } function stopdragging(){ obj.style.cursor = 'default'; document.onmousemove = null; } function drag(e) { // var obj = document.getElementById('drag'); if (document.all) { x = event.clientX + document.body.scrollLeft; y = event.clientY + document.body.scrollTop; } else { x = e.pageX; y = e.pageY; } obj.style.top = y - yrel; obj.style.left = x - xrel; return true; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <meta name="generator" content="PSPad editor, www.pspad.com"> <style type="text/css"> <!-- .cholder{ position: absolute; width: 200px; background-color: #fff000; cursor: default; } --> </style> <title></title> <script type="text/javascript" src="drag.js"></script> </head> <body> <div id="drag" class="cholder" onmousedown="startdragging(event, 'drag');" onmouseup="stopdragging();" style="left: 100px; top: 100px;">a</div> <div id="draga" class="cholder" onmousedown="startdragging(event, 'draga');" onmouseup="stopdragging();" style="left: 300px; top: 300px;">b</div> </body> </html> |
Ik weet het niet zeker, maar moet je voor een nieuwe request niet een nieuw XMLHttpRequest object aanmaken?quote:Op woensdag 7 juni 2006 20:56 schreef mschol het volgende:
niemand een idee voor mijn probleem?
misschien een andere stuk code?
nog eff verder gezocht en lijkt aan de activexObject te liggen oid:quote:Op woensdag 7 juni 2006 21:14 schreef JeRa het volgende:
[..]
Ik weet het niet zeker, maar moet je voor een nieuwe request niet een nieuw XMLHttpRequest object aanmaken?
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 | { req = false; // branch for native XMLHttpRequest object if(window.ActiveXObject) { var types = [ 'MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP' ]; for (var i = 0; i < types.length; i++) { try { return new ActiveXObject(types[i]); } catch(e) {} } return null; } else if(window.XMLHttpRequest) { req = new XMLHttpRequest(); } if( !req) { return false; } return req; } |
Dit vind ik nog steeds de fraaiste oplossing:quote:Op woensdag 7 juni 2006 21:23 schreef mschol het volgende:
[..]
nog eff verder gezocht en lijkt aan de activexObject te liggen oid:
gebruik nu:
[ code verwijderd ]
en dit werkt ..
geen idee wat het nou was...
nof wel eff testen oinder FF (zodat ik niet die vernaggeld heb)
1 2 3 4 5 6 7 8 9 10 11 12 | 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){}; }; return undefined; }; }; |
1 |
eigenlijk is ie alleen maar wat korter dan wat ik heb, wat ik er zo van zie..quote:Op woensdag 7 juni 2006 21:47 schreef SuperRembo het volgende:
[..]
Dit vind ik nog steeds de fraaiste oplossing:
[ code verwijderd ]
Dan kan je gewoon zo een nieuwe instantie van het XMLHttpRequest object maken:
[ code verwijderd ]
(met dank aan crisp)
1 |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |