1 2 3 4 5 6 7 8 9 10 | var options = ['Apple', 'Banana', 'Cherry']; var parent = document.getElementById(p_id); var select = parent.appendChild(document.createElement('SELECT')); var o; for (var i = 0; i < options.length; i++) { o = new Option(options[i], i); select.options.add(o); } } |
1 2 | <div id="container"></div> |
Hmmm, ik zie niet waarom het op die andere manier niet moet kunnen. Ik zal even wat ik heb online gooien...quote:Op dinsdag 28 februari 2006 23:10 schreef SuperRembo het volgende:
Ik denk niet dat dat gaat lukken met document.write. Als je de select met DOM functies maakt gaat het vrij eenvoudig.
Voorbeeldje:
[ code verwijderd ]
[ code verwijderd ]
Zie bijvoorbeeld ook HTML DOM Reference.
Hoe wil je met document.write aangeven waar de html toegevoegd moet worden?quote:Op dinsdag 28 februari 2006 23:23 schreef ToBe het volgende:
Hmmm, ik zie niet waarom het op die andere manier niet moet kunnen.
Thnxquote:Op dinsdag 28 februari 2006 23:36 schreef SuperRembo het volgende:
[..]
Hoe wil je met document.write aangeven waar de html toegevoegd moet worden?
De functie uit mijn voorbeeld geef je de id mee van het element waar de dropdown in gemaakt moet worden; simpel.
Ik ben weer wat verder dan eerst, alleen loop ik nu tegen het probleem aan dat ik weer een "probleem" krijg wat ik hierboven al eerder had.quote:Op dinsdag 28 februari 2006 23:23 schreef ToBe het volgende:
[..]
Hmmm, ik zie niet waarom het op die andere manier niet moet kunnen. Ik zal even wat ik heb online gooien...
link (deze doet het goed (met puntjes ipv script))
link (deze doet het niet goed (met <script>))
Kan iemand nog even een blik werpen? Het gaat dus om de pulldown bij "choose skillgroup".
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | { 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>"); } function addRow() { var x=document.getElementById('skillGroups').insertRow(1); var y=x.insertCell(0); y.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 28 | if (!e) return; var newCell_skillGroup = e; var newSelect = newCell_skillGroup.appendChild(document.createElement('SELECT')); var skillGroups = new Array ("Choose skillgroup", "Atheletics", "Biotech", "Close Combat", "Conjuring", "Cracking", "Electronics", "Firearms", "Influence", "Mechanic", "Outdoors", "Sorcery", "Stealth", "Tasking"); var newOptions; for (var i = 0; i < skillGroups.length; i++) { newOptions = new Option(skillGroups[i], i); newSelect.options.add(newOptions); } } function addRow() { var skillGroup = document.getElementById('skillGroups').insertRow(1); var newCell_skillGroup = skillGroup.insertCell(0); if (!addSkillGroups(newCell_skillGroup)) { //weet niet of het echt deleteCell is, //maar het is wel zo netjes dat als je select insert een error geeft //je ook de cell weer verwijderd skillGroup.deleteCell(0); //daarna false terug geven, die kan je opvangen en waarmee je //een alert("addRow() failed") kan weergeven; return false; } return true; } |
Nogal, je spreekt submit() nu aan alsof het een normale functie is maar het is een methode van het form. Probeer dit: <a href="javascript:document.search.submit()">Search</a> Als dat niet werkt kan je eerst proberen je input een andere name te geven, deze is namelijk hetzelfde als die van je form.quote:Op donderdag 2 maart 2006 13:00 schreef Desdinova het volgende:
<form style="margin:0px; padding:0px;" enctype="multipart/form-data" name="search" id="1" action="index.php" method="get">
<input type="textfield" name="search" style="height:18px; font-size:10px;">
<a href="javascript:submit()">Search</a>
</form>
hij submit nietkijk ik ergens overheen?
werktquote:Op donderdag 2 maart 2006 13:10 schreef R-Mon het volgende:
[..]
Nogal, je spreekt submit() nu aan alsof het een normale functie is maar het is een methode van het form. Probeer dit: <a href="javascript:document.search.submit()">Search</a> Als dat niet werkt kan je eerst proberen je input een andere name te geven, deze is namelijk hetzelfde als die van je form.
Netter is document.forms["search"].submit();quote:Op donderdag 2 maart 2006 13:10 schreef R-Mon het volgende:
[..]
Nogal, je spreekt submit() nu aan alsof het een normale functie is maar het is een methode van het form. Probeer dit: <a href="javascript:document.search.submit()">Search</a> Als dat niet werkt kan je eerst proberen je input een andere name te geven, deze is namelijk hetzelfde als die van je form.
1 2 3 4 5 6 7 8 9 | //eventueel alle li's uit een container (ul) die een id heeft: document.getElementById("liContainer").getElementsByTagName("li"); for (i = 0; i < all_listItems.length; i++) { listItemName = all_listItems[i].name; if (listItemName.substring(0, 2) = "m_") { //maybe eerst nog checken of er wel een .name is en maybe moet die 2 wel een 1 zijn, ik ben net wakker } } |
Ja, je gebruikt javascript voor iets dat helemaal niet nodig is....quote:Op donderdag 2 maart 2006 13:00 schreef Desdinova het volgende:
[..stukje code voor een form met de submit in javascript ...]
hij submit nietkijk ik ergens overheen?
1 2 3 4 5 6 7 | enctype="multipart/form-data" name="search" id="IDattribuut_mag_nooit_alleen_een_getal_bevatten" action="index.php" method="get"> <input type="textfield" name="search" style="height:18px; font-size:10px;"> <button type="submit">Search</button> </form> |
1 2 3 | if (listItemName.substring(0, 2) = "m_") { |
1 2 3 | Bronbestand: file:///D:/09382409282/javascript.js Regel: 9 |
PHP en Javascript zijn compleet anders, de 'onveiligheid' bij PHP heeft te maken met bv code-injection e.d. en ja, daar is 'eval' nogal kwetsbaar voor ...quote:Op vrijdag 3 maart 2006 11:54 schreef Nevermind het volgende:
Ik weet dat php's eval zorgvuldig gebruikt moet worden ivm de veiligheid, maar hoe zit dat met javascripts eval? Kan dat op eenofandere manier misbruikt worden?
Niet overdrijven, ik weet prima het verschil tussen beide en heb al jaren ervaring met php. Er zit alleen goed in mijn hoofd gestampt "eval == evil", vandaar dat ik even navraag doe.quote:gewen jezelf liever af om te snel en te makkelijk PHP en Javascript te vergelijken
Hoe zit het met de ondersteuning van eval? Kan elke moderne browser daar mee omgaan?quote:Een tweede punt is echter dat er eigenlijk vrijwel nooit nut is om 'eval' te gebruiken bij javascript, en vrijwel iedere situatie waar iemand eval zou willen gebruiken, meestal veel effectiever met andere middelen gedaan kan worden (bv DOM en standaard collections...)
Ecmascript is een standaard (Ecma-262)... overigens voldoet bv Actionscript (van Flash) ook aan deze standaard, alswel naar ik meen applescript en is het toe te passen als programma interne taal in bv programma's als MM Dreamweaver en Adobe Photoshop...quote:Op vrijdag 3 maart 2006 12:07 schreef Nevermind het volgende:
Hoe zit het met de ondersteuning van eval? Kan elke moderne browser daar mee omgaan?
Ik ben dan ook zeker geen professioneel developerquote:Op vrijdag 3 maart 2006 12:16 schreef RM-rf het volgende:
[..]
Maar ik blijf erbij dat enkeleen slechte programmeur/scripter erop terugvalt, en er _altijd_ betere alternatieven zijn voor gebruik van 'eval'..
1 2 3 4 5 6 7 8 9 10 11 12 13 | var str = ""; // loop iedere 'split' van / for(i in a) { // loop .length -1 if (i != (a.length -1)) { // voeg de split toe + een / str = str + a[i] + "/" ; } } |
1 2 3 4 5 6 | var str = path.replace(/\\/g, '/'); // splitten op /, laatste verwijderen en weer joinen.. str = str.split('/'); delete str[str.length]; str = str.join |
1 2 | path = path.replace(/\/[^/]*$/, '');// Strip file name |
1 2 3 4 5 6 7 8 9 10 11 12 | { // type kan drop, create of insert zijn. var all_listItems = document.getElementsByTagName("input"); for (i = 0; i < all_listItems.length; i++) { listItemName = all_listItems[i].id; // is er ook een soort stristr (zoals php? want dan kan ik zoeken op [drop] of [create] of [insert] en daarop moet ik zoeken. } } |
probeerquote:Op zondag 5 maart 2006 10:49 schreef Chandler het volgende:
ik snap het nu.
Mooi dan heb ik natuurlijk weer de volgende, mijn projectje vodert namelijk al aardig!
Reeds ben ik bezig met een scriptje die checkboxjes van een bepaald type moet checken/unchecken.. nu zat ik dus met het idee
[ code verwijderd ]
1 |
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)
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |