abonnement Unibet Coolblue Bitvavo
pi_35478912
document.write(raceCost); veranderen in: document.getElementById("IDNameVanBetreffendInputVeld").value = raceCost;
Game Over :: Anoniem torrents downloaden @ Seedr :: Lees hier waarom
pi_35479551
quote:
Op zaterdag 25 februari 2006 16:07 schreef Webby het volgende:
document.write(raceCost); veranderen in: document.getElementById("IDNameVanBetreffendInputVeld").value = raceCost;
Thnx, het werkt inderdaad... damn dat was simpel.

Ik doe normaal NOOIT wat met javascript, dus loop tegen dit soort eenvoudige problemen aan. Wel een goede vingeroefening dus.
pi_35483474
Nog een kleintje dan:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function calculateBuildingPointsAttributes()
      {
        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));
      }

Bovenstaande code zou een optelling moeten geven van alle buildingpoint costs van de opgetelde attributen.

de window.alert(attributes[i] + "heeft als kosten" + attributeCost); is voor mij een test om te kijken of overal wel netjes een getal uitkomt. Dit is ook het geval.

Echter als ik de totalAttributesCost opvraag, krijg ik als error NaN (not a number). Wat doe ik hier fout?

voor de zekerheid heb ik het een en ander al ge-parseInt.
pi_35485527
Je definineert de vars attributeCost en totalAttributeCost elke keer opnieew. defineer ze aan het begin en gebruik ze daarna.

Probeer hem eens zo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function calculateBuildingPointsAttributes() {
  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);
Game Over :: Anoniem torrents downloaden @ Seedr :: Lees hier waarom
pi_35501161
Wat moet ik bij een form bij action of onsubmit invullen als ik niet wil dat de pagina verandert?
Dit werkt niet:
1<form action="./" onSubmit="functie(blabla); return false">
pi_35501208
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 ]
Alleen een submitbutton zonder form?
pi_35502276
Hm, beetje moeilijk om uit te leggen, maar het zou handig zijn als ik de <form>-tag er wel in kan laten.
pi_35504319
onsubmit="return false" zou genoeg moeten zijn. Het werkt natuurlijk niet als je javascript hebt uitgeschakeld. Het houdt submits via javascript ook niet tegen, omdat dan onsubmit niet getriggerd wordt.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35526811
Op eenofandere manier werkt het niet met "return false", maar ik heb het nou maar zonder form-tags gedaan door met php alle veldwaarden van een formulierveld in de onclick-event van een button te zetten. Semi-submit dus. Ik wou dat met een simpele functie doen die elk elements van het form leest, maar dat gaat niet door. Het probleem is dat ik de form wil submitten door de waarden met een xmlHttpRequest te posten.
pi_35527166
Dan heb je idd geen form-element nodig. Je kan dan met javascript de informatie uit de velden verzamelen en in je XMLHttpRequest zetten.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35527725
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
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
<html><head><title></title></head>
<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>


twee.html:
1
2
<script type="text/javascript">alert('blaat');sendRequest( 'drie.html' );</script>
twee


drie.html:
1drie


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?
pi_35528422
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?
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.
pi_35530127
Ik weet niet precies wat je wil bereiken, maar misschien dat je het met eval op kunt lossen.
Je script zal trouwens niet goed werken in IE (ie = false).
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35531982
Alle vragen die ik de laatste tijd stel hebben te maken met een hobbyproject waar ik al veel te lang mee bezig ben Ik 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
pi_35534108
kan je dan niet beter naar AJAX achtige omgevingen gaan kijken?
pi_35534642
quote:
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 ben Ik 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 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. Ben nu net bezig met een AJAX form validatie die Username checked op bestaat al ja / nee, wachtwoord op sterkte test, 2e wachtwoord input vergelijkt met de eerste, email adres controleerd op @, . en geldige extensie, en numerieke velden checked op is het alleen numeriek (postcode 7 chars + spatie, etc.).

Alles zit in 2 .js files die los van het daadwerkelijke formulier staan (volledig dom georienteerd) en de opmaak van het formulier is weer puur css. Dit valt straks aan elk willekeurig form te plakken en het werkt. Als het af is breng ik het uit op mijn website ...
Game Over :: Anoniem torrents downloaden @ Seedr :: Lees hier waarom
pi_35537135
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.
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.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35584584
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 ]
En weer opgelost.

Ik heb nu nog een vervelende...

Ik heb een table, met daarin een tr met td. In die td laat ik middels een javascript een pulldown genereren met content. Op het moment dat ik een item aanklik uit die pulldown, moet er een nieuwe table row gegenereerd worden waarin weer die pulldown wordt neergezet enz.

Het genereren van een pulldown met items werkt
Het toevoegen van een regel met text werkt

maar het toevoegen van een regel met die pulldown werkt niet, ik vermoed dat het komt doordat ik javascript het volgende wil laten uitspuwen: <script>addRow()</script>. Ik krijg niet echt een foutmelding, maar een enorme hoeveelheid bagger op mijn scherm geproduceerd.

Hieronder even de codes die ik gebruik:

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
//genereer pulldown lijst:
 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>


Met ... doet ie het goed, met <script>addRow();</script> doet ie het dus niet. Iemand die mij kan helpen? < van <script> naar & l t ; omzetten heeft geen zin, want dan krijg ik het als tekst
pi_35585068
Je wil in de functie addRow nog een keer addRow aanroepen?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35585240
Iedere keer in de nieuwe regel, wil ik die dropdown weer aanroepen. Indien in die regel ook weer een keuze gemaakt wordt, moet er WEER een nieuwe regel komen met nogmaals de dropdown enz.

regel -> keuze -> nieuwe regel -> keuze -> nieuwe regel

de laatste regel zal dus de waarde "choose skillgroup" hebben omdat er dan niet meer gekozen wordt.
pi_35591407
Ik denk niet dat dat gaat lukken met document.write. Als je de select met DOM functies maakt gaat het vrij eenvoudig.

Voorbeeldje:

1
2
3
4
5
6
7
8
9
10
function buildDropdown(p_id) {
   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
<button onclick="buildDropdown('container')">Build</button>
<div id="container"></div>


Zie bijvoorbeeld ook HTML DOM Reference.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35591853
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.
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".
pi_35592305
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.
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.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35592852
quote:
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.
Thnx
Nu tijd om te slapen, morgen er weer verder naar kijken!

iig bedankt!
pi_35596324
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".
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.

Ik heb nu:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
      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>");
      }
      
      function addRow()
      {
        var x=document.getElementById('skillGroups').insertRow(1);
        var y=x.insertCell(0);
        y.innerHTML = displaySkillGroups;
      }

Ik heb dus de <script> tags weggehaald.
Als ik nu dus een nieuwe selecteer, dan laadt die weer in een andere pagina wat ik eerst ook had.
Dat kan ik vermoedelijk oplossen met document.getElementById(id).value = displaySkillGroups(); maar ik weet niet hoe ik de ID uit een gegenereerde <td> moet gaan trekken.

Ik heb zitten denken aan een tweetal dingen: Ik probeer van de table het aantal TD's te berekenen en dan de laatste aan te spreken, maar ik liep daarop vast. De laatste TD berekenen is niet het probleem, maar hoe die dan te vullen met content wel. Ik vermoed dat er wel een andere functie is dan dit op te lossen met document.getElementById(id).value, maar weet niet wat. Is er iets wat doet document.getElementById(mytable).maxTD.value? dat je iig de laatste <td> kan aanspreken?
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')