Accoord, maar zit er nog een praktisch nut aan behalve dat het "mooier" is? Tot nu toe vind ik het alleen maar meer werk voor iets wat voor mij niets oplevert..quote:Op zondag 13 mei 2007 00:22 schreef Geqxon het volgende:
Ik gok dat CraZaay het mooier vind als je de tabel doormiddel van javascript opbouwt. Dat je "nodes" creeert
Neequote:Op zondag 13 mei 2007 00:27 schreef Geqxon het volgende:
Trouwens, ondersteunt Javascript geen multiline variabelen?
Nee, maar een statement mag uiteraard wel over meerdere regels lopen (het is geen VBquote:Op zondag 13 mei 2007 00:27 schreef Geqxon het volgende:
Trouwens, ondersteunt Javascript geen multiline variabelen?
1 2 | + 'baz'; |
Het maken van form elementen is wel erg irritant omdat je daar voor IE weer een uitzondering moet maken. In IE kan je namelijk niet achteraf het type van een input element veranderen. Daarom moet je daar zo'n halfbakken constuctie alsquote:Op zondag 13 mei 2007 00:49 schreef CraZaay het volgende:
[..]
En ja, het maken van nodes vind ik netter omdat je daarmee meer mogelijkheden hebt voor manipulatie achteraf. Al is dat voor jouw script niet noodzakelijk, ik maak er maar een gewoonte van :)
1 |
Maar dan ben je weer op het punt waar ik nu zit, oftewel gewoon complete html er tussen proppen.. toch?quote:Op zondag 13 mei 2007 13:25 schreef SuperRembo het volgende:
[..]
Het maken van form elementen is wel erg irritant omdat je daar voor IE weer een uitzondering moet maken. In IE kan je namelijk niet achteraf het type van een input element veranderen. Daarom moet je daar zo'n halfbakken constuctie als
[ code verwijderd ]
gebruiken om een radiobutton te maken.
Dit is net die ene uitzondering. Ik kan met niet herinneren wanneer ik voor het laatst een input-element heb toegevoegd aan de DOMquote:Op zondag 13 mei 2007 13:47 schreef GBCHEATER het volgende:
[..]
Maar dan ben je weer op het punt waar ik nu zit, oftewel gewoon complete html er tussen proppen.. toch?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | <!-- // variables var curWidth = 0; var curX = 0; var newX = 0; var minWidthL = 150; // min width of left div var minWidthR = 300; // min width of right div var mouseButtonPos = "up"; //Function 'setPos(...) gets the original div width. function setPos(e) { //For handling events in ie vs. w3c. curEvent = ((typeof event == "undefined")? e: event); //Sets mouse flag as down. mouseButtonPos = "down"; //Gets position of click. curX = curEvent.clientX; //Get the width of the div. var tempWidthL = document.getElementById("treeView").style.width; var tempWidthR = document.getElementById("treeList").style.width; //Get the width value. var widthArrayL = tempWidthL.split("p"); var widthArrayR = tempWidthR.split("p"); //Set the current width. curWidthL = parseInt(widthArrayL[0]); curWidthR = parseInt(widthArrayR[0]); } //Function getPos(...) changes the width of the div while the mouse button is pressed. function getPos(e){ if( mouseButtonPos == "down" ) { //For handling events in ie vs. w3c. curEvent = ((typeof event == "undefined")? e: event); //Get new mouse position. newX = curEvent.clientX; //Calculate movement in pixels. var pixelMovement = parseInt(newX - curX); //Determine new width. var newWidthL = parseInt(curWidthL + pixelMovement); var newWidthR = parseInt(curWidthR - pixelMovement); //Enforce a minimum width left. if (newWidthL < minWidthL) { newWidthR = document.getElementById("treeContainer").style.width - minWidthL; newWidthL = minWidthL; } // min width right if (newWidthR < minWidthR) { newWidthL = document.getElementById("treeContainer").style.width - minWidthR; newWidthR = minWidthR; } //Set the new width. document.getElementById("treeView").style.width = newWidthL + "px"; document.getElementById("treeList").style.width = newWidthR + "px"; //Set the new left of the splitter bar. document.getElementById("splitterBar").style.left = parseInt(document.getElementById("treeView").style.width) + 5; } } //--> </script> <style type="text/css"> body {height:100%;} #container { width: 90%; } #treeView{ top:20px; left:20px; height: 150px; width:250px; border: 1px solid #808080; overflow: hidden; } #treeList{ top:0px; left:20px; height: 150px; width:550px; border: 1px solid #808080; overflow: hidden; } /*status bar style to act as the bottom border of the div*/ #splitterBar{ float: left; cursor: e-resize; display:block; background-color: #c0c0c0; top:20px; left:262px; margin-top:0px; height:152px; padding:0; width: 4px; } </style> </head> <!--onmousemove and onmouseup are on the body tag whereas onmousedown is on the "splitterBar" div--> <body onmousemove="getPos(event)" onmouseup="mouseButtonPos='up'"> <div id="treeContainer"> <div id="treeView" style="float: left; height:150px; width: 250px; overflow: auto;"> <p>Deze div is 250px breed en kan breder gemaakt worden, maar helaas kan de div niet kleiner worden dan 150 pixels<br />Deze div is 250px breed en kan breder gemaakt worden, maar helaas kan de div niet kleiner worden dan 150 pixels<br />Deze div is 250px breed en kan breder gemaakt worden, maar helaas kan de div niet kleiner worden dan 150 pixels<br />Deze div is 250px breed en kan breder gemaakt worden, maar helaas kan de div niet kleiner worden dan 150 pixels<br /></p> </div> <div onmousedown="setPos(event)" id="splitterBar"></div> <div id="treeList" style="float: left; height:150px; width: 550px; overflow: auto;"> <p>Dit is de rechter div die 550pixels breed is, deze kan smaller en breder worden maar niet kleiner dan 250px;</p> </div> </div> </body> </html> |
1 2 3 | Source File: file:///D:/test1.html Line: 0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | <!-- // variables var curWidth = 0; var curX = 0; var newX = 0; var minWidthL = 150; // min width of left div var minWidthR = 300; // min width of right div var conWidth = 800; var mouseButtonPos = "up"; //Function 'setPos(...) gets the original div width. function setPos(e) { //For handling events in ie vs. w3c. curEvent = ((typeof event == "undefined")? e: event); //Sets mouse flag as down. mouseButtonPos = "down"; //Gets position of click. curX = curEvent.clientX; //Get the width of the div. var tempWidthL = document.getElementById("treeView").style.width; var tempWidthR = document.getElementById("treeList").style.width; //Get the width value. var widthArrayL = tempWidthL.split("p"); var widthArrayR = tempWidthR.split("p"); //Set the current width. curWidthL = parseInt(widthArrayL[0]); curWidthR = parseInt(widthArrayR[0]); } //Function getPos(...) changes the width of the div while the mouse button is pressed. function getPos(e){ if( mouseButtonPos == "down" ) { //For handling events in ie vs. w3c. curEvent = ((typeof event == "undefined")? e: event); //Get new mouse position. newX = curEvent.clientX; //Calculate movement in pixels. var pixelMovement = parseInt(newX - curX); //Determine new width. var newWidthL = parseInt(curWidthL + pixelMovement); var newWidthR = parseInt(curWidthR - pixelMovement); //Enforce a minimum width left. if (newWidthL < minWidthL) { newWidthR = parseInt(conWidth - minWidthL); newWidthL = minWidthL; } // min width right if (newWidthR < minWidthR) { newWidthL = parseInt(conWidth - minWidthR); newWidthR = minWidthR; } //Set the new width. defaultStatus = "L:" + newWidthL + " R:" + newWidthR; document.getElementById("treeView").style.width = newWidthL + "px"; document.getElementById("treeList").style.width = newWidthR + "px"; //Set the new left of the splitter bar. document.getElementById("splitterBar").style.left = parseInt(document.getElementById("treeView").style.width) + 5; } } //--> </script> <style type="text/css"> body {height:100%;} #container { width: 90%; } #treeView{ top:20px; left:20px; height: 150px; width:250px; border: 1px solid #808080; overflow: hidden; } #treeList{ top:0px; left:20px; height: 150px; width:550px; border: 1px solid #808080; overflow: hidden; } /*status bar style to act as the bottom border of the div*/ #splitterBar{ float: left; cursor: e-resize; display:block; background-color: #c0c0c0; top:20px; left:262px; margin-top:0px; height:152px; padding:0; width: 4px; } </style> </head> <!--onmousemove and onmouseup are on the body tag whereas onmousedown is on the "splitterBar" div--> <body onmousemove="getPos(event)" onmouseup="mouseButtonPos='up'"> <div id="treeContainer"> <div id="treeView" style="float: left; height:150px; width: 250px; overflow: auto;"> <p>Deze div is 250px breed en kan breder gemaakt worden, maar helaas kan de div niet kleiner worden dan 150 pixels<br />Deze div is 250px breed en kan breder gemaakt worden, maar helaas kan de div niet kleiner worden dan 150 pixels<br />Deze div is 250px breed en kan breder gemaakt worden, maar helaas kan de div niet kleiner worden dan 150 pixels<br />Deze div is 250px breed en kan breder gemaakt worden, maar helaas kan de div niet kleiner worden dan 150 pixels<br /></p> </div> <div onmousedown="setPos(event)" id="splitterBar"></div> <div id="treeList" style="float: left; height:150px; width: 550px; overflow: auto;"> <p>Dit is de rechter div die 550pixels breed is, deze kan smaller en breder worden maar niet kleiner dan 250px;</p> </div> </div> </body> </html> |
readOnly (met hoofdletter O) is een boolean, dus true of false.quote:Op maandag 21 mei 2007 21:31 schreef Swetsenegger het volgende:
Iemand een idee hoe ik met een onChange het readonly atribuut voor een form element kan triggeren?
onChange="getElementById('element').readonly='readonly'"
lijkt niet te werken in ieder geval
Bedankt!quote:Op maandag 21 mei 2007 21:36 schreef Litpho het volgende:
[..]
readOnly (met hoofdletter O) is een boolean, dus true of false.
1 |
http://www.xs4all.nl/~litpho/test.html werkt hier prima.quote:Op maandag 21 mei 2007 21:41 schreef Swetsenegger het volgende:
[..]
Bedankt!
Maar dit werkt ook niet
[ code verwijderd ]
Ook niet als ik true buiten quotes zet.
Ja, ziet er naar uit dat ik het niet op een select element kan toepassen, alleen op text elementen.quote:Op maandag 21 mei 2007 21:48 schreef Litpho het volgende:
[..]
http://www.xs4all.nl/~litpho/test.html werkt hier prima.
Weet je zeker dat de onchange getriggerd wordt?
Select heeft readOnly niet als property, maar is natuurlijk wel altijd read only. Heb je al naar disabled gekeken als alternatief?quote:Op maandag 21 mei 2007 21:52 schreef Swetsenegger het volgende:
[..]
Ja, ziet er naar uit dat ik het niet op een select element kan toepassen, alleen op text elementen.
quote:Op maandag 21 mei 2007 21:54 schreef Litpho het volgende:
[..]
Select heeft readOnly niet als property, maar is natuurlijk wel altijd read only. Heb je al naar disabled gekeken als alternatief?
Waarbij je er even rekening mee moet houden dat disabled elementen niet meegesubmit worden, dus bij een onsubmit evt. weer enabled moeten worden. Schoon is anders, maar misschien maakt het voor wat je wil niet uit.
* noteert weer een tevreden klant *quote:Op maandag 21 mei 2007 22:02 schreef Swetsenegger het volgende:
[..]die zocht ik.
Ik verwerk server side, dus de page wordt na een submit toch refreshed.
1 |
1 2 3 4 5 6 7 8 9 10 | function getData(url,id) { if (!http[id]) http[id] = getHTTPObject(); //prompt("Requested URL:",url); http[id].open("GET", url, true); http[id].send(null); http[id].onreadystatechange = httpResponse; } |
1 |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |