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
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |