Thnx, het werkt inderdaad... damn dat was simpel.quote:Op zaterdag 25 februari 2006 16:07 schreef Webby het volgende:
document.write(raceCost); veranderen in: document.getElementById("IDNameVanBetreffendInputVeld").value = raceCost;
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | { var attributes = new Array("bod", "agi", "rea", "str", "cha", "int", "log", "wil", "edge", "mag", "res"); for (i=0;i<attributes.length;i++) { if(document.getElementById(attributes[i]).value < 6) { var attributeCost = (parseInt(document.getElementById(attributes[i]).value) - 1)*10; window.alert(attributes[i] + "heeft als kosten" + attributeCost); var totalAttributesCost = parseInt(totalAttributesCost) + parseInt(attributeCost); } } window.alert(parseInt(totalAttributesCost)); } |
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var attributes = new Array("bod", "agi", "rea", "str", "cha", "int", "log", "wil", "edge", "mag", "res"); var attributeCost = 0; var totalAttributesCost = 0; for (i = 0; i < attributes.length; i++) { if(document.getElementById(attributes[i]).value < 6) { attributeCost = (parseInt(document.getElementById(attributes[i]).value) - 1) * 10; alert(attributes[i] + "heeft als kosten" + attributeCost); totalAttributesCost += attributeCost; } } alert(totalAttributesCost); } |
| 1 |
Alleen een submitbutton zonder form?quote:Op zondag 26 februari 2006 03:39 schreef Nevermind het volgende:
Wat moet ik bij een form bij action of onsubmit invullen als ik niet wil dat de pagina verandert?
Dit werkt niet:
[ code verwijderd ]
| 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 | <body onLoad="setTimeout( 'sendRequest( \'twee.html\' )', 1500 )"> <script type="text/javascript"> ---8<--- <knip> xmlhttprequest laden function sendRequest( file ) { xmlHttp.open( "GET", file, true ); xmlHttp.onreadystatechange = getRequest; xmlHttp.send( null ); } function getRequest() { --- 8<--- <knip> bij readystate 4 het volgende uitvoeren dynContent( 'testdiv', xmlHttp.responseText ); } function dynContent( id, content ) { if( ie = false ) { if( document.getElementById ) { rng = document.createRange(); el = document.getElementById( id ); rng.setStartBefore( el ); htmlFrag = rng.createContextualFragment( content ); while ( el.hasChildNodes() ) el.removeChild( el.lastChild ); el.appendChild( htmlFrag ); } } else { document.getElementById( id ).innerHTML = content; } } </script> <div id="testdiv">één</div> </body> </html> |
| 1 2 | twee |
| 1 |
Volgens mij kan dat niet zomaar. Ik weet niet precies of er een workaround is, maar volgens mij gaat dat niet op de manier die je nu probeert...ik kan je alleen even niet verder helpen nu.quote:Op zondag 26 februari 2006 22:50 schreef Nevermind het volgende:
Nog een vraagje:
Als ik de inhoud van een DIV vervang door een stuk tekst waar een stuk javascriptcode zit, dan wordt deze niet geparsed. Moet innerHTML er niet voor zorgen dat de javascript wel geparsed wordt? Klein opzetje om het te verduidelijken:
test.html
[ code verwijderd ]
twee.html:
[ code verwijderd ]
drie.html:
[ code verwijderd ]
Ik zou willen dat er "drie" in #testdiv komt te staan, maar ik kom tot twee.Op deze manier werkt het dus niet, maar hoe wel?
Ik gebruik deze AJAX Class: http://twilightuniverse.com/projects/sackquote:Op maandag 27 februari 2006 01:10 schreef Nevermind het volgende:
Alle vragen die ik de laatste tijd stel hebben te maken met een hobbyproject waar ik al veel te lang mee bezig benIk wil een windows-achtige interface hebben, waar schermpjes gedragen kunnen
worden en scripts uitgevoerd kunnen worden zonder de pagina te refreshen. Misschien zeggen screenshots wat meer;
De eerste versie werkte met windows die een iframe bevatten, en werkte vrij redelijk, maar werd erg traag met veel schermpjes en was niet erg crossbrowser-vriendelijk. Toen besloot ik over te gaan op een hidden iframe die de inhoud van alle schermpjes veranderde, maar daar liep ik ook tegen veel vreemde crossbrowserfouten aan. En nu ben ik bezig met een xmlHttprequest-versie die tot op heden erg crossbrowservriendelijk is en snel, alleen nu loop ik weer tegen allerlei limitaties en vreemde browserspecifieke fouten aan.
Als het eenmaal af is kan het voor een hele hoop dingen gebruikt worden, een CMS en een mailclient bijvoorbeeld. En ik wil het graag als interface hebben om een hoop dingen van mijn thuisserver te regelen. Maar tot op heden is er weinig resultaat en al vele uren werk
Die ie = false regel is inderdaad fout werkt nog steeds in IE overigens, maar verandert verder niks aan de vraag. Ik zal het eens met eval proberen
Ik kan zo snel niet vinden in welke browsers het zou moeten werken, maar als ik even snel de code door kijk dan werkt het iig niet in IE5.0. Verder wel aardig opgezet, alleen niet allemaal even efficient gecodeerd.quote:Op maandag 27 februari 2006 09:28 schreef Webby het volgende:
[..]
Ik gebruik deze AJAX Class: http://twilightuniverse.com/projects/sack
In Combinatie met deze DOM scripts: http://www.scottandrew.com/weblog/articles/cbs-events
Geheel crossbrowser en erg multifunctioneel inzetbaar.
En weer opgelost.quote:Op zaterdag 25 februari 2006 19:21 schreef Webby het volgende:
Je definineert de vars attributeCost en totalAttributeCost elke keer opnieew. defineer ze aan het begin en gebruik ze daarna.
Probeer hem eens zo:
[ code verwijderd ]
| 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 | 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); y.innerHTML="..."; } //html code wat ik wil: <table id="skillGroups" border="1"> <tr> <td> <script type="text/javascript"> displaySkillGroups(); </script> </td> </tr> </table> |
| 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 |
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |