1 2 3 4 5 6 7 8 9 10 11 | function Add() { var optgroup = document.getElementById('optgroup'); var select = document.getElementById('select'); element = document.createElement("option"); element.setAttribute("value", 1); element.innerHTML = "Testing"; optgroup.appendChild(element); document.getElementById('h').value = optgroup.getElementsByTagName("option").length; } |
Nee, 't is intranetquote:Op vrijdag 31 december 2004 16:02 schreef _Jeffrey_ het volgende:
Hier in FF 1.0 werkt het gewoon goed.
Misschien staat er een layer over de link heen ofzo? heb je een online voorbeeldje?
Het lijkt een Opera bug te zijn. Zelfs als je de innerHTML van het hele select element opvraagt nadat het option element geplaatst is, lijkt het gewoon op de goede plaats in het select element te staan, maar het wordt gewoon niet zichtbaar. Option elementen toevoegen aan het select element werkt wel goedquote:Op vrijdag 31 december 2004 16:25 schreef Arjan321 het volgende:
Zie http://www.n321.com/poc.html
Waarom werkt dit allemaal geweldig in Gecko en IE, maar niet in Opera?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function Add() { var optgroup = document.getElementById('optgroup'); var select = document.getElementById('select'); var container = document.getElementById('containeri'); element = document.createElement("option"); element.setAttribute("value", 1); element.innerHTML = "Testing"; optgroup.appendChild(element); if (window.opera) { clone = select.cloneNode(true); container.removeChild(select); container.appendChild(clone); } } |
je kunt wel een script maken dat alle tekst-waardes omzet naar hun hex-karakter (via de Stringmethode.toString(16))quote:Op donderdag 13 januari 2005 17:08 schreef Swetsenegger het volgende:
Is er een javascript equivalent van php's htmlentities?
1 | <&bléüh> |
1 | <&bléüh> |
1 2 3 4 5 6 7 8 9 10 11 | var my_variabele = '<&bléüh>' var string_output='' var temp_var for( var i=0; i < my_variabele.length; i++ ) { temp_var = my_variabele.charAt( i ); temp_var = temp_var.charCodeAt(0); temp_var = ''+ temp_var.toString(16) + ';' string_output += temp_var; } return string_output |
helaas is het een embedded systeem waarbij er geen ruimte is voor php of ander serverside oplossingen. Alleen client side scripting.quote:Op donderdag 13 januari 2005 17:47 schreef RM-rf het volgende:
[..]
je kunt wel een script maken dat alle tekst-waardes omzet naar hun hex-karakter (via de Stringmethode.toString(16))
[ code verwijderd ]
wordt dan
[ code verwijderd ]
dmv code als bv:
[ code verwijderd ]
Maar dat kan ook een onpraktische situatie zijn, als het voor een CMS is, is het eerder aan te raden om sowieso alle input via html_entities te laten gaan en gebruikers te verbieden zelf direkt html in te voeren, hooguit misschien bepaalde standaard-waardes er voorheen uit te filteren, daarmee behoud je een betere controle over de input van gebruikers
(juist binnen een CMS is het een zeker risico om mensen volledig het recht te geven direkt HTML in te voeren)
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 cloack(waarde) { if(waarde == "yes") { document.getElementById('layer1').style.visibility = 'hidden'; document.getElementById('layer1').style.display = 'None'; document.getElementById('layer2').style.visibility = 'visible'; document.getElementById('layer2').style.display = 'Block'; document.getElementById('command').style.display = 'None'; } else if(waarde == "no") { document.getElementById('layer2').style.visibility = 'hidden'; document.getElementById('layer2').style.display = 'None'; document.getElementById('layer1').style.visibility = 'visible'; document.getElementById('layer1').style.display = 'Block'; document.getElementById('command').style.display = 'None'; } else { document.getElementById('layer2').style.visibility = 'hidden'; document.getElementById('layer2').style.display = 'None'; document.getElementById('layer1').style.visibility = 'hidden'; document.getElementById('layer1').style.display = 'None'; document.getElementById('command').style.display = 'None'; } } |
quote:Op vrijdag 14 januari 2005 23:39 schreef mschol het volgende:
vraagje aan de JS experts:
[ code verwijderd ]
is er een manier om dit efficienter te doen??? of niet?
ik gebruik een if, else if, else script omdat ik in de dropdown box 3 waardes heb: ja, nee en blank (de standaard waarde)
1 2 3 4 5 6 7 | function cloack(waarde) { document.getElementById("layer1").style.visibility = waarde == "yes" ? 'visible' : "hidden"; document.getElementById("layer1").style.display = waarde == "yes" ? 'block' : "none"; document.getElementById("layer2").style.visibility = waarde == "no" ? 'visible' : "hidden"; document.getElementById("layer2").style.display = waarde == "no" ? 'block' : "none"; document.getElementById('command').style.display = 'None'; } |
1 2 3 4 5 | function cloak(waarde) { document.getElementById('layer1').style.display = waarde == 'yes' ? 'block' : 'none'; document.getElementById('layer2').style.display = waarde == 'no' ? 'block' : 'none'; document.getElementById('command').style.display = 'none'; } |
1 2 3 4 5 6 7 | <input type="checkbox" name="en_aanvang" checked onClick="Toggle('agenda_nieuw_aanvang')"> Aanvang: <input type="text" name="agenda_nieuw_aanvang" maxlength="10"> uur<br/> <input type="checkbox" name="en_prijs" checked onClick="Toggle('agenda_nieuw_prijs')"> Prijs: ¤<input type="text" name="agenda_nieuw_prijs" maxlength="5"><br/> |
1 2 3 4 5 6 7 8 9 | <script language="Javascript"> function Toggle(elID) { if(document.getElementById(elID).style.disabled == true) { document.getElementById(elID).style.disabled = false; } else { document.getElementById(elID).style.disabled = true; } } </script> |
1 | document.getElementById(elID).disabled |
quote:Op vrijdag 21 januari 2005 16:32 schreef Heliospan het volgende:
[ code verwijderd ]
Ugh, mijn schrale beetje javascriptkennis laat me weer in de steek. Wat ik wil is op zich niet zo moeilijk leek me. Als op de checkboxen 'en_aanvang' of 'en_prijs' geklikt wordt, wordt respectievelijk 'agenda_nieuw_aanvang' disabled/enabled, of 'agenda_nieuw_prijs' disabled/enabled. Ik heb echter meerdere pogingen gedaan om de "Toggle"-functie te schrijven, maar ik kom er niet uit. En het moet zo makkelijk zijn. Kan iemand me even uit de brand helpen?
Dit werkt iig niet
[ code verwijderd ]
1 2 3 | <script language="Javascript"> document.getElementById(elID).disabled = document.getElementById(elID).disabled == true ? false : true; </script> |
1 2 3 4 5 6 7 8 9 | function Toggle(elID) { if(document.getElementById(elID).disabled == true) { document.getElementById(elID).disabled = false; document.getElementById(elID).style.backgroundColor = "#ffffff"; } else { document.getElementById(elID).disabled = true; document.getElementById(elID).style.backgroundColor = "#aaaaaa"; } } |
1 2 3 4 5 6 7 8 9 10 11 | function Toggle(id) { var el = document.getElementById(id); if (!el) return; if (el.disabled) { el.disabled = false; el.style.backgroundColor = '#fff'; } else { el.disabled = true; el.style.backgroundColor = '#aaa'; } } |
Inderdaad een stuk duidelijker dan "Object Expected", wat IE 9 op de 10x zegtquote:Op vrijdag 21 januari 2005 19:41 schreef Arjan321 het volgende:
Moet wel even zeggen dat FireFox een prachtige javascript console heeft, die, zolang je niets al te vreemd doet, een foutmelding geeft wat er fout gaat in het script (Tools -> Javascript Console)
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |