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: |