1 2 3 | alert(x); |
1 2 3 | alert(x.length); |
Ja.quote:
Het kan (zeker in jouw geval) ook wel zonder JSON library.quote:Op vrijdag 1 juni 2007 13:02 schreef Chandler het volgende:
Ik begrijp dus dat het niet mogelijk is om XML uit te lezen zonder responseXML te gebruiken in IE6 en FF?
-edit-
Ik heb dat JSON bekeken en zie dat dat eingelijk alleen voor PHP 5.0.2 issjeez...
1 2 3 4 5 6 7 8 9 10 | <action>layouts</action> <count>4</count> <layouts> <item>Default</item> <item>GFX</item> <item>Test</item> <item>Woei</item> </layouts> </gfxpoll> |
1 |
1 |
Code for parsing and generating JSON (the latter is also known as "stringifying") is available for the following languages: ActionScript, C, C++, C#, ColdFusion, Common Lisp, Delphi/Object pascal, E, Erlang, Haskell, Java, JavaScript, Lasso (programming language), Limbo, Lua, ML, Objective-C, Objective CAML, Perl, PHP, Python, Rebol, Ruby, Smalltalk and Tcl.quote:Op vrijdag 1 juni 2007 13:02 schreef Chandler het volgende:
Ik heb dat JSON bekeken en zie dat dat eingelijk alleen voor PHP 5.0.2 issjeez...
Good for you (en SuperRembo). En in welke sticky in DIG staat daar een link naartoe?quote:Op vrijdag 1 juni 2007 14:44 schreef fokME2 het volgende:
[..]
Ja.![]()
http://wiki.fok.nl/index.php/OP/Javascript !! Daar! (overigens ook in voorgaande topics te vinden..)
Stond gewoon in de OP van het vorige deel hoor?quote:Op vrijdag 1 juni 2007 19:20 schreef CraZaay het volgende:
[..]
Good for you (en SuperRembo). En in welke sticky in DIG staat daar een link naartoe?
Veel plezier ermee
Waarom heb je daar een library voor nodig?quote:Op vrijdag 1 juni 2007 18:50 schreef Chandler het volgende:
Klopt maar als je dan de library bekijkt zie je alleen een onderdeel voor php5.0.1 staan en ook een lb voor php 4.3.0 en hoger maar die schijnt weer extreem sloom te zijnvet leuk
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 | <!-- div.example { text-align: center; padding: 5px; background-color: #F4F3EE; font-family: Arial; font-size: 12px; color: #000000; font-weight: normal; font-style: normal; text-decoration: none; } a.example { font-family: Arial; font-size: 12px; color: #003366; font-weight: bold; font-style: italic; text-decoration: none; } a.example:hover { font-family: Arial; font-size: 12px; color: #003366; font-weight: bold; font-style: italic; text-decoration: underline; } --> </style> |
1 2 3 | document.getElementById(styleName).style.fontSize = sizeValue+'px'; } |
1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | var arr = new Array(); var item = new Array(); item[1] = 'x'; item[3] = 'y'; arr[item[1]] = 'p'; arr[item[3]] = 'q'; function test() { for( a in arr ) { alert( a + '-' + arr[a] ); } } </script> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <td>Row 1</td> <td>Row 1</td> <td>Row 1</td> <td>Row 1</td> <td>Row 1</td> </tr> <tr id="item[2]" onmouseover="Mover(this, event, 1)" onmouseout="Mover(this, event, 0)" onclick="Mover(this, event, -1)" class="item"> <td>Row 2</td> <td>Row 2</td> <td>Row 2</td> <td>Row 2</td> <td>Row 2</td> </tr> |
1 |
1 2 3 4 5 6 7 8 9 10 | { var str = ""; for (x in selected) { str += x + "=" + selected[x] + " -- "; } alert(selected.length); } |
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 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | .item { background-color: gray; color: black; } .item_hover { background-color: blue; color: yellow; } .item_hover { background-color: red; color: yellow; } </style> <script language="javascript"> var selectedItems; var selected = new Array(); function Mover(id, event, inout) { // catch mouse buttons var mouseButton = false; if (event.which == null) { /* IE case */ mouseButton = (event.button < 2) ? "left" : ((event.button == 4) ? "middle" :"right"); } else { /* All others */ mouseButton = (event.which < 2) ? "left" : ((event.which == 2) ? "middle" : "right"); } // mouseaction? if (mouseButton != false && inout == -1) { tStats("mousebutton found"); if (mouseButton == "left") { tStats("left mousebutton"); // select or deselect item if (selected[id.id]) { // verwijder selected[id]; delete selected[id.id]; } else { selected[id.id] = id.id } } else { // menu alert("menu on item " + id.id); } dont(event); } if (inout == 0) { if (!selected[id.id]) { id.className = "item"; } else { id.className = "item_selected"; } } else if (inout == -1) { tStats("-1"); } else { id.className = "item_hover"; } mouseButton = false; } function dont(event) { if (event.preventDefault) event.preventDefault(); else event.returnValue= false; return false; } function tStats(x) { y = document.getElementById('stats'); z = x + '<br />' + y.innerHTML; y.innerHTML = z; } function getSelected() { var str = ""; var cnt = 0; for (x in selected) { str += "Selected option: " + selected[x] + " -- n"; cnt++; } alert(cnt + "n" + str); } </script> <table> <tr> <th>Cell 1</th> <th>Cell 2</th> <th>Cell 3</th> <th>Cell 4</th> <th>Cell 5</th> </tr> <tr id="item[1]" onmouseover="Mover(this, event, 1)" onmousedown="Mover(this,event,-1)" onmouseout="Mover(this, event, 0)" onclick="Mover(this, event, -1)" ondblclick="Mover(this, event, -1)" oncontextmenu="Mover(this, event, -1)" class="item"> <td>Row 1</td> <td>Row 1</td> <td>Row 1</td> <td>Row 1</td> <td>Row 1</td> </tr> <tr id="item[2]" onmouseover="Mover(this, event, 1)" onmousedown="Mover(this,event,-1)" onmouseout="Mover(this, event, 0)" onclick="Mover(this, event, -1)" ondblclick="Mover(this, event, -1)" oncontextmenu="Mover(this, event, -1)" class="item"> <td>Row 2</td> <td>Row 2</td> <td>Row 2</td> <td>Row 2</td> <td>Row 2</td> </tr> <tr id="item[3]" onmouseover="Mover(this, event, 1)" onmousedown="Mover(this,event,-1)" onmouseout="Mover(this, event, 0)" onclick="Mover(this, event, -1)" ondblclick="Mover(this, event, -1)" oncontextmenu="Mover(this, event, -1)" class="item"> <td>Row 3</td> <td>Row 3</td> <td>Row 3</td> <td>Row 3</td> <td>Row 3</td> </tr> <tr id="item[4]" onmouseover="Mover(this, event, 1)" onmousedown="Mover(this,event,-1)" onmouseout="Mover(this, event, 0)" onclick="Mover(this, event, -1)" ondblclick="Mover(this, event, -1)" oncontextmenu="Mover(this, event, -1)" class="item"> <td>Row 4</td> <td>Row 4</td> <td>Row 4</td> <td>Row 4</td> <td>Row 4</td> </tr> <tr id="item[5]" onmouseover="Mover(this, event, 1)" onmousedown="Mover(this,event,-1)" onmouseout="Mover(this, event, 0)" onclick="Mover(this, event, -1)" ondblclick="Mover(this, event, -1)" oncontextmenu="Mover(this, event, -1)" class="item"> <td>Row 5</td> <td>Row 5</td> <td>Row 5</td> <td>Row 5</td> <td>Row 5</td> </tr> <tr id="item[6]" onmouseover="Mover(this, event, 1)" onmousedown="Mover(this,event,-1)" onmouseout="Mover(this, event, 0)" onclick="Mover(this, event, -1)" ondblclick="Mover(this, event, -1)" oncontextmenu="Mover(this, event, -1)" class="item"> <td>Row 6</td> <td>Row 6</td> <td>Row 6</td> <td>Row 6</td> <td>Row 6</td> </tr> <tr id="item[7]" onmouseover="Mover(this, event, 1)" onmousedown="Mover(this,event,-1)" onmouseout="Mover(this, event, 0)" onclick="Mover(this, event, -1)" ondblclick="Mover(this, event, -1)" oncontextmenu="Mover(this, event, -1)" class="item"> <td>Row 7</td> <td>Row 7</td> <td>Row 7</td> <td>Row 7</td> <td>Row 7</td> </tr> <tr id="item[8]" onmouseover="Mover(this, event, 1)" onmousedown="Mover(this,event,-1)" onmouseout="Mover(this, event, 0)" onclick="Mover(this, event, -1)" ondblclick="Mover(this, event, -1)" oncontextmenu="Mover(this, event, -1)" class="item"> <td>Row 8</td> <td>Row 8</td> <td>Row 8</td> <td>Row 8</td> <td>Row 8</td> </tr> </table> <input type="button" onClick="getSelected()" value="Selected items"> <input type="button" onClick="document.getElementById('stats').innerHTML = ''" value="Clear pre"> <pre id="stats" name="stats" style="width: 400px; height: 250px; overflow: auto;">Hello</pre> |
Tussendoor ergens in een variabele opslaan of de pagina herladen.quote:Op donderdag 7 juni 2007 15:56 schreef Chandler het volgende:
Kleine andere vraag.
Stel ik heb een element een andere className gegeven (this.className = 'nieuweclass') hoe kan ik deze nieuwe class dan resetten? oftewel de oude class terug halen? zonder een andere class te gebruiken?
De huidige class is niet td, de huidige class is leeg met element td. Dus als je className leeg maakt, dan gebruikt hij de 100px rule weer, dat is dan de meest passende.quote:Op donderdag 7 juni 2007 16:07 schreef Chandler het volgende:
Je moet het zien als.
Ik heb een TD daar staat een standaard class op
td { font-size: 100px }
nu heb ik ook een class
td .small { font-size: 12px; }
als ik nu met een onmouseover="this.className='small'" zet wil ik met onmouseout de class resetten naar de huidige class (td). How do i do this?
1 |
Iets later. Vreemd, alles werkt weer. Maar dit snap ik dan weer niet:quote:Op maandag 11 juni 2007 14:19 schreef Geqxon het volgende:
Dan schuif ik de fout toch naar mijn eigen website. Op het moment kan ik er niet aan werken, maar ik hou je deze avond op de hoogte
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 | <!-- tabel //--> </div> <script language="javascript"> function addCell(tableRow, pos, text, width) { var tableCell = tableRow.insertCell(pos); tableCell.innerHTML = text ; tableCell.style.width = width; } table = document.createElement("Table"); for (x = 0; x < 10; x++) { var tableRow = table.insertRow(x); addCell(tableRow, 0, x + "&1", "100px"); addCell(tableRow, 1, x + "&2", "200px"); addCell(tableRow, 2, x + "&3", "50px"); addCell(tableRow, 3, x + "&4", "200px"); /* for (y = 0; y < 5; y++) { var tableCell = tableRow.insertCell(y); tableCell.innerHTML = x +'hello'+y ; } */ } document.getElementById('test').appendChild(table); alert('klik hier en de tabel verdwijnt!'); document.getElementById('test').innerHTML = ''; </script> |
1 2 3 4 | var theadRow = thead.insertRow(0); var theadHeader = thead.createElement("th"); theadHeader.innerHTML = 'Header'; |
1 2 | table.appendChild(tbody); |
quote:Op woensdag 20 juni 2007 10:28 schreef Chandler het volgende:
Ik heb je code even overgenomen, maar krijg een thead niet voor elkaar...tbody is trouwens gelukt!
[ code verwijderd ]
Bovenstaande code werkt niet. Ook insertCell geeft een fout. Wil gewoon een TH toevoegen aan de thead en daarin een stuk tekst plaatsen
1 2 3 4 5 | var theadRow = thead.insertRow(0); var theadHeader = document.createElement("th"); theadHeader.innerHTML = 'Header'; theadRow.appendChild(theadHeader); |
Ik zou een andere oplossing zoeken. Een edit knopje is toch ook veel duidelijker?quote:The dblclick event is rarely used. Even when you use it, you should be sure never to register both an onclick and an ondblclick event handler on the same HTML element. Finding out what the user has actually done is nearly impossible if you register both.
1 2 3 4 | tableRow.onclick = eval("function() { alert('select'); }"); tableRow.onmouseover = eval("function() { this.className='item_hover'; }"); tableRow.onmouseout = eval("function() { this.className=''; }"); |
He, wat zitten die rot-browsers toch onlogisch in elkaarquote:Op woensdag 20 juni 2007 17:36 schreef RM-rf het volgende:
createTextNode creeert een textnode
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 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | <tr> <td colspan=5>Rechten caculator gemaakt door Eric!</td> </tr> <tr> <td>Rechten</td> <td>Eigenaar</td> <td>Groep</td> <td>Anders</td> <td> </td> </tr> <tr> <td>Lezen</td> <td><input type="checkbox" id="owner_read" onClick="calculate(this, 4);"></td> <td><input type="checkbox" id="group_read" onClick="calculate(this, 4);"></td> <td><input type="checkbox" id="other_read" onClick="calculate(this, 4);"></td> <td> </td> </tr> <tr> <td>Schrijven</td> <td><input type="checkbox" id="owner_write" onClick="calculate(this, 2);"></td> <td><input type="checkbox" id="group_write" onClick="calculate(this, 2);"></td> <td><input type="checkbox" id="other_write" onClick="calculate(this, 2);"></td> <td> </td> </tr> <tr> <td>Uitvoeren</td> <td><input type="checkbox" id="owner_exec" onClick="calculate(this, 1);"></td> <td><input type="checkbox" id="group_exec" onClick="calculate(this, 1);"></td> <td><input type="checkbox" id="other_exec" onClick="calculate(this, 1);"></td> <td> </td> </tr> <tr> <td>Nummeriek</td> <td><input type="text" id="num_owner_total" style="width: 15px;" disabled></td> <td><input type="text" id="num_group_total" style="width: 15px;" disabled></td> <td><input type="text" id="num_other_total" style="width: 15px;" disabled></td> <td>= <input type="text" name="chmod_oct" id="chmod_oct" style="width: 75px;" onKeyUp="setRights(this.value);"></td> </tr> <tr> <td>Symbolisch</td> <td><input type="text" id="sym_owner_total" style="width: 35px;" disabled></td> <td><input type="text" id="sym_group_total" style="width: 35px;" disabled></td> <td><input type="text" id="sym_other_total" style="width: 35px;" disabled></td> <td>= <input type="text" name="chmod_sym" id="chmod_sym" style="width: 75px;" disabled></td> </tr> </table> <script language="javascript"> var owner = 0; var group = 0; var other = 0; function calculate(id, num) { var opt = document.getElementById(id.id); if (opt.checked == true) { switch (opt.id.substr(0, 5)) { case "owner": owner = owner + num; break; case "group": group = group + num; break; case "other": other = other + num; break; } } else { switch (opt.id.substr(0, 5)) { case "owner": owner = owner - num; break; case "group": group = group - num; break; case "other": other = other - num; break; } } displayNumbers(owner, group, other); } function setRights(inn) { if (parseFloat(inn.substr(0, 1)) > 7 || parseFloat(inn.substr(1, 1)) > 7 || parseFloat(inn.substr(2, 1)) > 7 ) { alert("Alle nummers moeten 7 of lager zijn!"); } else if (inn.length > 3) { alert("Het nummer mag niet meer dan 3 cijfers bevatten"); } if (inn.substr(0, 1)) { owner = parseFloat(inn.substr(0, 1)); } else { owner = 0; } if (inn.substr(1, 1)) { group = parseFloat(inn.substr(1, 1)); } else { group = 0; } if (inn.substr(2, 1)) { other = parseFloat(inn.substr(2, 1)); } else { other = 0; } if (owner & 4) { document.getElementById('owner_read').checked = true; } else { document.getElementById('owner_read').checked = false; } if (owner & 2) { document.getElementById('owner_write').checked = true; } else { document.getElementById('owner_write').checked = false; } if (owner & 1) { document.getElementById('owner_exec').checked = true; } else { document.getElementById('owner_exec').checked = false; } if (group & 4) { document.getElementById('group_read').checked = true; } else { document.getElementById('group_read').checked = false; } if (group & 2) { document.getElementById('group_write').checked = true; } else { document.getElementById('group_write').checked = false; } if (group & 1) { document.getElementById('group_exec').checked = true; } else { document.getElementById('group_exec').checked = false; } if (other & 4) { document.getElementById('other_read').checked = true; } else { document.getElementById('other_read').checked = false; } if (other & 2) { document.getElementById('other_write').checked = true; } else { document.getElementById('other_write').checked = false; } if (other & 1) { document.getElementById('other_exec').checked = true; } else { document.getElementById('other_exec').checked = false; } displayNumbers(owner, group, other); } function displayNumbers(owner, group, other) { // nummeric document.getElementById('chmod_oct').value = owner + "" + (group > 0 ? group : "") + "" + (other > 0 ? other : ""); document.getElementById('num_owner_total').value = owner; document.getElementById('num_group_total').value = group; document.getElementById('num_other_total').value = other; // symbolic document.getElementById('sym_owner_total').value = convertToSym(owner); document.getElementById('sym_group_total').value = convertToSym(group); document.getElementById('sym_other_total').value = convertToSym(other); document.getElementById("chmod_sym").value = "-" + convertToSym(owner) + convertToSym(group) + convertToSym(other); } function convertToSym(num) { var out = ""; if (num & 4) { out += "r"; } else { out += "-"; } if (num & 2) { out += "w"; } else { out += "-"; } if (num & 1) { out += "x"; } else { out += "-"; } return out; } setRights('666'); </script> |
1 2 3 4 5 6 7 8 9 10 11 | if (owner & 2) { document.getElementById('owner_write').checked = true; } else { document.getElementById('owner_write').checked = false; } if (owner & 1) { document.getElementById('owner_exec').checked = true; } else { document.getElementById('owner_exec').checked = false; } if (group & 4) { document.getElementById('group_read').checked = true; } else { document.getElementById('group_read').checked = false; } if (group & 2) { document.getElementById('group_write').checked = true; } else { document.getElementById('group_write').checked = false; } if (group & 1) { document.getElementById('group_exec').checked = true; } else { document.getElementById('group_exec').checked = false; } if (other & 4) { document.getElementById('other_read').checked = true; } else { document.getElementById('other_read').checked = false; } if (other & 2) { document.getElementById('other_write').checked = true; } else { document.getElementById('other_write').checked = false; } if (other & 1) { document.getElementById('other_exec').checked = true; } else { document.getElementById('other_exec').checked = false; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 | checkboxName = "group" objectToCheck[4] = document.getElementById(checkboxName+'_read').checked; objectToCheck[2] = document.getElementById(checkboxName+'_write').checked; objectToCheck[1] = document.getElementById(checkboxName+'_exec').checked; for (var i = 4; i >= 1; i = i / 2){ if (right & i) { objectToCheck[i] = true; } else { objectToCheck[i] = false; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | types[0] = "owner"; types[1] = "group"; types[2] = "other"; var userset = new Array(); userset[0] = 5; userset[1] = 7; userset[2] = 1; var rights = new Array(); rights[4] = "read"; rights[2] = "write"; rights[1] = "exec"; for (var i = 0; i <= 2; i++){ for (var j = 4; j >= 1; j = j / 2){ if (userset[i] & j) document.getElementById(types[i]+'_'+rights[j]).checked = true; else document.getElementById(types[i]+'_'+rights[j]).checked = false; } } |
1 2 3 4 5 6 | function calculate(checkbox) { var opt = checkbox.id; var num = checkbox.value; |
1 2 3 4 5 6 7 8 9 10 | var checkboxChecked = false var checkboxValue = 4; var checkboxName = "owner"; var charToUse = (checkboxChecked ? true : "+") + (checkboxChecked ? false : "-"); eval(checkboxName + " = " + checkboxName + " " + charToUse + " " + checkboxValue); alert(owner); |
Jep, die waren prima. Maar hey, jij vraagt om korter, dan krijg je korterquote:Op donderdag 21 juni 2007 14:06 schreef Chandler het volgende:
Tnx, ik ga me hier eens over buigen, maar op zich waren de functies die ik geschreven had aardig goed dusen dat voor een JS leek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | types[0] = "owner"; types[1] = "group"; types[2] = "other"; var userset = new Array(); userset[0] = 5; userset[1] = 7; userset[2] = 1; var rights = new Array(); rights[4] = "read"; rights[2] = "write"; rights[1] = "exec"; for (var i = 0; i <= 2; i++){ for (var j = 4; j >= 1; j = j / 2){ if (userset[i] & j) document.getElementById(types[i]+'_'+rights[j]).checked = true; else document.getElementById(types[i]+'_'+rights[j]).checked = false; } } |
1 |
1 2 3 4 5 6 7 8 9 10 11 | var userset = [5 , 7, 1]; var rights = ["read", "write", "exec"]; for (var i = 0; i < 3; ++i) { for (var j = 4; j >= 1; j /= 2) { document.getElementById(types[i] + '_' + rights[j]).checked = (userset[i] & j); } } |
Jep, zo moet er bij een "read" worden geprobeerd er vier punten af te halen. Dat is anders te doen, uiteraard, maar dit leek mij voor het overzicht wel handigquote:Op donderdag 21 juni 2007 17:17 schreef CraZaay het volgende:
SuperRembo: ik neem aan dat 'ie voor 'rights' niet voor niets 4, 2 en 1 als keys gebruikt heeft ipv 0, 1 en 2. Of mis ik iets?
Je hebt gelijk, daar heb ik overheen gekeken.quote:Op donderdag 21 juni 2007 17:17 schreef CraZaay het volgende:
SuperRembo: ik neem aan dat 'ie voor 'rights' niet voor niets 4, 2 en 1 als keys gebruikt heeft ipv 0, 1 en 2. Of mis ik iets?
Bahquote:Op donderdag 21 juni 2007 20:15 schreef wipes66 het volgende:
Voor de mensen die graag op een makkelijk manier ronde hoeken willen maken:
http://code.google.com/p/jquery-roundcorners-canvas/
Sommige dingen gaan nou eenmaal niet met CSS.quote:Op donderdag 21 juni 2007 21:28 schreef CraZaay het volgende:
[..]
Bah
Javascript is wat mij betreft voor gedrag en niet voor styling. Daar is CSS voor.
Tuurlijk wel. jQuery schrijft ook gewoon dynamisch HTML en CSS.quote:Op donderdag 21 juni 2007 23:20 schreef wipes66 het volgende:
[..]
Sommige dingen gaan nou eenmaal niet met CSS.
1 2 3 | <input onKeyUp="if(key= enter { submitajax(this.value) ; } "> </form> |
gaan we proberenquote:Op vrijdag 22 juni 2007 19:59 schreef CraZaay het volgende:
Niets aan die input doen maar een onsubmit op je form. Daarin de gewenste functie uitvoeren en een 'return false' om de normale submit tegen te houden.
En natuurlijk de normale submit ook laten werken voor de mensen die javascript uit hebben staan
quote:Op woensdag 27 juni 2007 20:40 schreef Chandler het volgende:
Vraagje; ik heb een selectbox met een stel opties. Waarvan 90% een value hebben en 10% niet. Nu wil ik dat alleen die opties met een value geselecteerd kunnen worden maar niet de opties zonder 'value'.
Hoe kan ik dit realiseren?
if (this.option[this.selectedIndex].value='') return false;
werkt helaas niet :{
1 2 3 | alert('This item has a value'); } |
Goed punt.quote:Op donderdag 28 juni 2007 15:06 schreef CraZaay het volgende:
Wat is het doel Chandler? Ben je niet goed af met <optgroup> toevallig?
Ja dat maakt zeker uit.quote:Op donderdag 28 juni 2007 16:01 schreef super-muffin het volgende:
Maakt dit qua preformance wat uit of niet?
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | for (var i = 0; i < a.length; i++) { Foo(a[i]); } // sneller for (var i = 0, l = a.length; i < l; ++i) { Foo(a[i]); } // nog sneller (maar in omgekeerde volgorde) var i = a.length; while (i--) { Foo(a[i]); } |
Die laatste is toch simpel te gebruiken (ook andersom)quote:Op donderdag 28 juni 2007 16:48 schreef SuperRembo het volgende:
[..]
Ja dat maakt zeker uit.
[ code verwijderd ]
De laatste versie is het snelst, maar die is wat minder duidelijk, dus die zou ik alleen gebruiken als de snelheid heel belangrijk is.
1 2 3 4 5 6 7 | var j = 0; while (i--) { j++; Foo(a[j]); } |
Goed die laatste! Ga ik meteen inbouwen in m'n project waarbij 500 objecten in een array gestopt moeten worden in een loopquote:Op donderdag 28 juni 2007 16:48 schreef SuperRembo het volgende:
De laatste versie is het snelst, maar die is wat minder duidelijk, dus die zou ik alleen gebruiken als de snelheid heel belangrijk is.
Maar is dat dan niet dynamisch? Als ik "a = document.getElementById('hi').length" pak, dan krijg ik toch elke keer als ik naar "a" vraag de dan geldende lengte van "hi" ? Of slaat hij deze waarde enkel 1 maal op?quote:Op donderdag 28 juni 2007 16:15 schreef Chandler het volgende:
geen idee hehe.
Maar denk dat het wel wat uitmaakt, in PHP iig wel
De parser moet anders constant lezen hoeveel items er in een bepaalde array zitten en dat hoeft de parser niet te doen als jij die gegevens in een tijdelijke variabel zet!
1 2 3 4 5 6 | i = 0 while (i < a) b.removechild(); } |
a is op dat moment een statische variabele...quote:Op vrijdag 29 juni 2007 19:41 schreef Geqxon het volgende:
[..]
Maar is dat dan niet dynamisch? Als ik "a = document.getElementById('hi').length" pak, dan krijg ik toch elke keer als ik naar "a" vraag de dan geldende lengte van "hi" ? Of slaat hij deze waarde enkel 1 maal op?
1 2 3 | return document.getElementById('hi').length; }; |
document.getElementById("div").elements.length? Of bedoel je dat niet?quote:Op vrijdag 29 juni 2007 21:11 schreef SuperRembo het volgende:
Als je een aantal keer de length property van een element wil opvragen dan kan je wel het element zelf in een variable zetten. Dat scheelt een heleboel opzoekwerk in de DOM.
Maar volgens mij is er geen enkel html element die standard een length property heeft
1 2 3 4 5 6 7 8 | <!-- function add() { document.getElementById('cijferinvoer').innerHTML=document.getElementById('cijferinvoer').innerHTML + '<tr><th>CC</th><td><input type="text" name="cijfer[]" AUTOCOMPLETE="of"></td><td><input type="text" name="weging[]" AUTOCOMPLETE="of"></td>'; } //--> </script> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function showExtraContent() { var extraContent = document.getElementById('extraContent'); extraContent.style.display = 'block'; } </script> <p> standaard content bla bla bla</p> <div id="extraContent" style="display: none;"> bla bla bla extra content bla bla </div> <a href="#" onclick="showExtraContent(); return false;">klik voor extra content</a> |
maar dan kunnen er niet meerdere rijen toegevoegd worden.quote:Op zaterdag 14 juli 2007 17:19 schreef Farenji het volgende:
De makkelijkste en netste oplossing is niet het toevoegen via JS en innerHTML, maar dmv een div met style "display: none;" die je mbv javascript op "display: block;" zet. Zo zal de state van je form gewoon behouden blijven en hoef je ook geen html in je JS code op te nemen (want dat is).
Voorbeeldje:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | { var tbody = document.getElementById ('cijferinvoer').getElementsByTagName("tbody")[0]; var row = document.createElement("tr") var th1 = document.createElement("th") th1.appendChild(document.createTextNode("CC")) var td1 = document.createElement("td") var a = '<input type="text" name="var1[]" AUTOCOMPLETE="off">' td1.appendChild(document.createTextNode(a)) var td2 = document.createElement("td") td2.appendChild (document.createTextNode('<input type="text" name="var2[]" AUTOCOMPLETE="off">')) row.appendChild(th1); row.appendChild(td1); row.appendChild(td2); tbody.appendChild(row); |
quote:CC <input type="text" name="var1[]" AUTOCOMPLETE="off"> <input type="text" name="var1" AUTOCOMPLETE="off">
1 2 | td1.appendChild(document.createTextNode(a)) |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |