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