abonnement Unibet Coolblue Bitvavo
pi_74342969
Ben me aan t verdiepen in jquery, want wil een redelijk dynamische (met sliders en visualiserende divs) site maken.

Ik wil om eens te proberen 5 divs als in een staafgrafiek van lengte te veranderen met verschillende knoppen.

1 knop geeft dus door: staaf1 lengte = 50, staaf2lengte=60, enz.
1
2
3
4
5
6
7
8
9
10
  $(document).ready(function(){
    function ca(end,level){
          $("end").animate({ 
        height: level + "px",
      }, 500 );
   }
  ;

Met deze button:
<button onclick="ca(#block,150)">» Run</button>

Dat dacht ik op deze manier te doen, en dan een onclick met een button, maar dat werkt dus niet. Kan dit wel op deze manier met jquery, of moet ik het anders aanpakken?

Ik heb het idee als ik voor elke staaf een stuk code moet doen mn js erg groot word.

[ Bericht 7% gewijzigd door Flaccid op 03-11-2009 11:11:16 ]
pi_74343380
Lokaal? Als in bij de genen die die website beheerd bekijkt of dat een server sides programmeer taal het wegschrijft in een file of een database?

[ Bericht 5% gewijzigd door Darkomen op 03-11-2009 14:49:21 ]
  dinsdag 3 november 2009 @ 11:22:40 #203
267444 Skonk
Free Skonk
pi_74343645
quote:
Op dinsdag 3 november 2009 11:13 schreef Darkomen het volgende:
Lokaal? Als in bij de genen die die website beheerd of dat een server sides programmeer taal het wegschrijft in een file of een database?
Het is een website die ook gerund moet kunnen worden zonder internet, dus inderdaad dat het in een bestand ofzo wordt opgeslagen.
pi_74344825
quote:
Op dinsdag 3 november 2009 11:22 schreef Skonk het volgende:

[..]

Het is een website die ook gerund moet kunnen worden zonder internet, dus inderdaad dat het in een bestand ofzo wordt opgeslagen.
Denk niet dat dat gaat lukken met alleen javascript
pi_74344995
quote:
Op dinsdag 3 november 2009 10:58 schreef Flaccid het volgende:
Ben me aan t verdiepen in jquery, want wil een redelijk dynamische (met sliders en visualiserende divs) site maken.

Ik wil om eens te proberen 5 divs als in een staafgrafiek van lengte te veranderen met verschillende knoppen.

1 knop geeft dus door: staaf1 lengte = 50, staaf2lengte=60, enz.
[ code verwijderd ]

Dat dacht ik op deze manier te doen, en dan een onclick met een button, maar dat werkt dus niet. Kan dit wel op deze manier met jquery, of moet ik het anders aanpakken?

Ik heb het idee als ik voor elke staaf een stuk code moet doen mn js erg groot word.
Wat krijg je voor error dan? Die #block in het argument van de functie moet sowieso gequote worden trouwens

En probeer het is als de functie niet in de document ready functie staat
  dinsdag 3 november 2009 @ 12:25:56 #206
267444 Skonk
Free Skonk
pi_74345540
quote:
Op dinsdag 3 november 2009 12:00 schreef woopehh het volgende:

[..]

Denk niet dat dat gaat lukken met alleen javascript
Da's dan een leuke javascript opdracht die we hebben gekregen!
pi_74345845
quote:
Op dinsdag 3 november 2009 12:25 schreef Skonk het volgende:

[..]

Da's dan een leuke javascript opdracht die we hebben gekregen!
Het enige wat ik zou kunnen bedenken is alles naar een cookie schrijven.. maar weet niet of dat de bedoeling is
pi_74346037
quote:
Op dinsdag 3 november 2009 12:00 schreef woopehh het volgende:

[..]

Denk niet dat dat gaat lukken met alleen javascript
Javascript kan wel bestanden openen en schrijven, dus het moet wel kunnen. Ik heb er verder geen ervaring mee, maar Google laat wel het een en ander zien.
pi_74346547
quote:
Op dinsdag 3 november 2009 12:42 schreef Light het volgende:

[..]

Javascript kan wel bestanden openen en schrijven, dus het moet wel kunnen. Ik heb er verder geen ervaring mee, maar Google laat wel het een en ander zien.
Mijn fout, lokaal lijkt het inderdaad mogelijk te zijn
  dinsdag 3 november 2009 @ 13:25:50 #210
267444 Skonk
Free Skonk
pi_74347329
quote:
Op dinsdag 3 november 2009 12:37 schreef woopehh het volgende:

[..]

Het enige wat ik zou kunnen bedenken is alles naar een cookie schrijven.. maar weet niet of dat de bedoeling is
Uhm, ja ik weet het niet, het is gewoon voor een paar simpele dingen zoals Naam, Mening, en een gekozen symbool wat daarbij hoort.
pi_74349433
quote:
Op dinsdag 3 november 2009 13:25 schreef Skonk het volgende:

[..]

Uhm, ja ik weet het niet, het is gewoon voor een paar simpele dingen zoals Naam, Mening, en een gekozen symbool wat daarbij hoort.
Ik vind ook alleen maar methodes die gebruik maken van ActiveX om naar een text bestand te schrijven, misschien had Light iets anders gevonden?
pi_74350464
Ben benieuwt wat je moet leren van die opdracht, ik ben in ruim 12 jaar internetten nog nooit een site tegen gekomen die een bestandje op je lokale pc zet via javascript, anders dan cookies.
pi_74355253
quote:
Op dinsdag 3 november 2009 12:06 schreef woopehh het volgende:

[..]

Wat krijg je voor error dan? Die #block in het argument van de functie moet sowieso gequote worden trouwens

En probeer het is als de functie niet in de document ready functie staat
Ik weet niet eens waar ik deze errors kan zien.
  zaterdag 7 november 2009 @ 14:46:25 #214
12221 Tijn
Powered by MS Paint
pi_74482122
Ik heb net de Ajax tutorial van w3schools.com gevolgd. Prima te begrijpen allemaal, maar 1 ding komt niet aan bod: hoe zorg je voor een continue update op je pagina? Ze behandelen alleen het aanroepen van de ajaxfunctie bij bijvoorbeeld onkeyup of onchange. Maar hoe zorg je ervoor dat er bv elke 2 seconde een een ajaxupdate plaats vindt zonder dat dat afhangt van een actie van de gebruiker?
pi_74482432
Je kunt toch met setTimeout() de ajax-functie aanroepen?
  zaterdag 7 november 2009 @ 15:09:24 #216
12221 Tijn
Powered by MS Paint
pi_74482631
Maar hoe zorg ik dan dat de ajaxfunctie aangeroepen blijft worden? SetTimeout is toch maar eenmalig?
pi_74485638
quote:
Op zaterdag 7 november 2009 15:09 schreef Tijn het volgende:
Maar hoe zorg ik dan dat de ajaxfunctie aangeroepen blijft worden? SetTimeout is toch maar eenmalig?
Maar je kunt de functie wel meerdere keren aanroepen:

1
2
3
4
5
6
7
8
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4)
  {
  document.myForm.time.value=xmlhttp.responseText;
  setTimeout("ajaxFunction()", 2000); // Nieuwe ronde over twee seconden :)
  }
}
  zaterdag 7 november 2009 @ 17:32:00 #218
12221 Tijn
Powered by MS Paint
pi_74486360
Ah ja, op zo'n manier Thnx!
  dinsdag 10 november 2009 @ 09:48:04 #219
267444 Skonk
Free Skonk
pi_74564698
Zou iemand mij hier kunnen uitleggen hoe ik zonder in de HTML een onClick te gebruiken toch (bijvoorbeeld) een alert naar voren kan laten komen zodra er op een knop wordt gedrukt?

PS: Ik mag ook geen forms gebruiken.

Thanks alvast, ik kom er echt niet uit .
pi_74565932
Waarschijnlijk heb je dezelfde opdracht als iemand eerder in dit topic dus zie de vorige pagina, skonk
  dinsdag 10 november 2009 @ 10:40:55 #221
267444 Skonk
Free Skonk
pi_74566051
quote:
Op dinsdag 10 november 2009 10:36 schreef Darkomen het volgende:
Waarschijnlijk heb je dezelfde opdracht als iemand eerder in dit topic dus zie de vorige pagina, skonk
Ja, ik had natuurlijk al gecheckt, maar ik kom er niet uit.

Ik heb nu dit:
1
2
3
         <div name="SaveDiv" class="SaveButton">
            <input id="SaveID" class="SaveButtonMakeup" name="SaveButton" type="button" value="Save">
         </div>


1
2
3
4
function Disable()

   document.getElementById("SaveID").onclick = Disable();
}


Maar het werkt niet.
De andere oplossing (het laten maken van de button in Javascript) kan ik ook niet doen, want ik moet het natuurlijk wel snappen en kunnen uitleggen.

[edit] Het moet zeg maar in de view.js zitten, en niet in index.html en zonder form.
[edit2] Ik heb het werkend!

1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <title>Untitled Document</title>
          <script type="text/javascript" src="js/view/view2.js"></script>
   </head>
   <body onload="Disable1()">

            <input id="SaveID" name="SaveName" type="button" value="Save">
            
   </body>
</html>


1
2
3
4
5
6
7
8
9
10
function Disable1()

   document.getElementById("SaveID").onclick = Disable2;
}

function Disable2() 
   {
   alert("ja");
  }
   


[ Bericht 13% gewijzigd door Skonk op 10-11-2009 11:45:03 ]
pi_74570545
Kijk met een beetje nadenken kom je er wel

ipv
onload="Disable1()"
kan je ook in je view.js onderaan het volgende zetten

window.onload=Disable1;
pi_74600580
quote:
Op dinsdag 10 november 2009 13:12 schreef Darkomen het volgende:
Kijk met een beetje nadenken kom je er wel

ipv
onload="Disable1()"
kan je ook in je view.js onderaan het volgende zetten

window.onload=Disable1;
Ja, thanks! Dit is nog mooier natuurlijk.
Ik ben weer even bezig geweest, maar ik heb nu iets waarvan ik geen idee heb hoe ik het moet maken.
Dit is de code:

1
2
3
4
5
6
7
8
9
10
11
12
function SymbolenDisabler() 
   {
   //Checken of het juiste symbool is gekozen:
   if (confirm("Weet je zeker dat je dit symbool wilt kiezen?")) 
   {
      
   }
   else
{
   
}
}

Dit is de situatie:
Er zijn 25 symbolenknoppen, waarvan er in totaal 2 gekozen moeten worden.
Alleen moet er de 1e keer dat er op OK word gedrukt iets anders gebeuren (iets waar ik nog mee bezig ben), dan de 2e keer.
De 2e keer moet er een andere knop enabled worden, namelijk FightButton.

Ik heb hier echt hulp bij nodig.
pi_74601570
Bekijk dit eens en kijk of je het kan toepassen aan jouw opdracht.

1
2
3
4
5
6
7
8
<script type="text/javascript">
var foo =  0;
function bar(){
foo++;
alert(foo);
}
</script>
<button onclick="bar();" value="">Foo</button>


Anders heb ik wel al de volledige oplossing voor je maar dan leer je niks
pi_74601623
Ik zie geen functie bar() in die code
pi_74601679
D'oh!
Edit foutje
pi_74603473
quote:
Op woensdag 11 november 2009 12:52 schreef Darkomen het volgende:
Bekijk dit eens en kijk of je het kan toepassen aan jouw opdracht.
[ code verwijderd ]

Anders heb ik wel al de volledige oplossing voor je maar dan leer je niks
, ik heb het gefixed, het was wel even priegelen .

http://pastebin.com/m2115a045 (Ik heb het hier even gezet, het is namelijk veel tekst.)
pi_74603774
Moah, niet een heel net script enook niet crossbrowser/platfprm
if (Speler = 2), daar moet een dubbele =

Zonder de html erbij is het ook niet echt duidelijk wat er nu precies moet gebeuren.
pi_74626236
quote:
Op woensdag 11 november 2009 14:00 schreef Darkomen het volgende:
if (Speler = 2), daar moet een dubbele =
Nou, ik kan je vertellen dat het script niet werkt als ik dat doe.
Maar nou heb ik een nieuwe vraag, hoe kan ik een variabel maken van de knop waarop gedrukt word?
Zodat ik dus weet op welke knop gedrukt word.
pi_74628892
quote:
Op donderdag 12 november 2009 09:48 schreef Skonk het volgende:

[..]

Nou, ik kan je vertellen dat het script niet werkt als ik dat doe.
Maar nou heb ik een nieuwe vraag, hoe kan ik een variabel maken van de knop waarop gedrukt word?
Zodat ik dus weet op welke knop gedrukt word.
Zou er toch maar == van maken, nu staat er Speler wordt 2, wat dus altijd waar is
pi_74629340
quote:
Op donderdag 12 november 2009 11:23 schreef woopehh het volgende:

[..]

Zou er toch maar == van maken, nu staat er Speler wordt 2, wat dus altijd waar is
Speler 2 is toch ook aan de beurt?
pi_74629461
quote:
Op donderdag 12 november 2009 09:48 schreef Skonk het volgende:

[..]

Nou, ik kan je vertellen dat het script niet werkt als ik dat doe.
Maar nou heb ik een nieuwe vraag, hoe kan ik een variabel maken van de knop waarop gedrukt word?
Zodat ik dus weet op welke knop gedrukt word.
Dan klopt je script dus niet ;-)

The assignment operator = is used to assign values to JavaScript variables.
pi_74630533
quote:
Op donderdag 12 november 2009 09:48 schreef Skonk het volgende:

Maar nou heb ik een nieuwe vraag, hoe kan ik een variabel maken van de knop waarop gedrukt word?
Zodat ik dus weet op welke knop gedrukt word.
Kun je hier wat mee?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
 <head>
   <title>Testpagina</title>
   <script type="text/javascript">
   function foo(btn) {
     alert(btn.id);
   }
   </script>
 </head>
 <body>
   <button id="testButton1" onclick="foo(this)">Test 1</button>
   <button id="testButton2" onclick="foo(this)">Test 2</button>
   <button id="testButton3" onclick="foo(this)">Test 3</button>
 </body>
</html>
pi_74632687
quote:
Op donderdag 12 november 2009 12:17 schreef Light het volgende:

[..]

Kun je hier wat mee?
[ code verwijderd ]


Ja, ik denk dat wel zou helpen, alleen mag ik geen onclick gebruiken in mijn HTML.
pi_74632854
Dan ga je dus combineren met wat we al hadden gegeven ;-)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<html>
 <head>
   <title>Testpagina</title>
   <script type="text/javascript">
   
   function bar() {
   document.getElementById('testButton1').onclick = foo2;
   document.getElementById('testButton2').onclick = foo2;
   document.getElementById('testButton3').onclick = foo2;
   }
   
   function foo2() {
     alert(this.id);
   }

   window.onload = bar;
   </script>
 </head>
 <body>
   <button id="testButton1">Test 1</button>
   <button id="testButton2">Test 2</button>
   <button id="testButton3">Test 3</button>
 </body>
</html>
  zondag 15 november 2009 @ 17:22:42 #236
12221 Tijn
Powered by MS Paint
pi_74719220
quote:
Op zaterdag 7 november 2009 17:04 schreef Light het volgende:

[..]

Maar je kunt de functie wel meerdere keren aanroepen:
[ code verwijderd ]
Hmm... ik zit hier toch nog een beetje mee te stoeien. Ik wil nu graag een variabele meegeven aan m'n ajaxfunctie. Deze variabele moet ik dan dus ook weer meegeven in de timeout-functie, maar dit werkt niet:

1setTimeout("ajaxfunction(" + variable + ")", 1000);


Wat is hier de goede syntax voor?

[edit] Oh wacht, ik heb het al... m'n variabele is een string, dus die moest ik ook nog even tussen enkele quotes zetten Nu werkt het wel:

1setTimeout("ajaxfunction('" + variable + "')", 1000);


[ Bericht 23% gewijzigd door Tijn op 15-11-2009 17:55:14 ]
pi_74725257
Heeft iemand nog iets op te merken over mijn kleine scriptje dat middels php/json een select kan vullen?

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
function createSelect(id, params, selID)
{
    sel = document.getElementById(id);

    var openReq = createXMLHttpRequest();

    d = new Date();
    openReq.open("GET", "/selectoption/select.php?" + params + "&c=" + escape(d.getTime()), true);
    openReq.onreadystatechange = function()
    {
        if (openReq.readyState != 4) { return; }

        if (document.getElementById(id).length > 0)
        {
            to = document.getElementById(id).length;
            for (x = 0; x <= to; x++)
            {
                sel.remove(0);
            }
        }

        createSelectList(id,  eval('(' + openReq.responseText + ')'), selId);
    }
    openReq.send(null);
}

function createSelectList(id, list, selId)
{
    d = document.getElementById(id);
    selected = false;

    for ( var i in list )
    {
        var optNew   = document.createElement('option');
        optNew.text  = list[i];
        optNew.value = i;

        if (i == selId) { selected = true; } // found same ID as selected id? select is true

        try {
            d.add(optNew, null); // standards compliant; doesn't work in IE
        }
        catch(ex) {
            d.add(optNew); // IE only
        }
    } 

    if (selected == true)
    {
        d.selectedIndex = selId;
    }
}


function createXMLHttpRequest() 
{
    try { 
        return new XMLHttpRequest(); 
    } catch(e) {}
    try { 
        return new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (e) {}
    alert("XMLHttpRequest not supported");
    return null;
}


word op deze manier gebruikt :)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<html
<head>
    <title>test</title>
    <script type="text/javascript" src="index.js"></script>
</head>
<body>

<a href="javascript:createSelect('select', 'p=vis&type=roofvis', 1);">Roofvis</a> <br />
<a href="javascript:createSelect('select', 'p=vis&type=witvis', 11);">Witvis</a> <br />
<a href="javascript:createSelect('select', 'p=vis&type=zeevis', 1);">Zee vis</a> <br />

<select id="select" name="select">
</select>
<br />

<a href="javascript:createSelect('select1', 'p=div', 1);">Select 1</a> <br />

<select id="select1" name="select1">
<option value="1">option 1</option>
<option value="2">option 2</option>
<option value="3">option 3</option>
<option value="4">option 4</option>
</select>


en mijn test php scriptje

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
<?php
header
('Content-type: application/json');

$p   = isset($_GET['p']) ? $_GET['p'] : '';
$arr = array();

switch (
$p)
{
    case 
"vis":
        
$t = isset($_GET['type']) ? $_GET['type'] : '';

        switch (
$t)
        {
            case 
"roofvis":
                
$arr = array(=> "Snoek"=> "Snoekbaars"=> "Baars");
            break;

            case 
"witvis":
                
$arr = array(=> "karper"=> "Voorn"=> "Brasum"=> "Giebel"=> "Kopvoorn"=> "Zeelt"=> "Steur");
            break;
                
            default:
                
$arr = array(=> "Schol"=> "Zee baars");
            break;
        }
    break;
    
    default:
         
$arr = array(=> "Geen opties");
    break;
}

echo 
json_encode($arr);
?>


Comments zeer welkom, kan er alleen maar van leren :)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_74742745
Ziet er in mijn ogen goed uit.
  maandag 16 november 2009 @ 13:40:16 #239
131734 klapvee
JSFreak (Javascript, JS100)
pi_74746529
quote:
Op zondag 15 november 2009 17:22 schreef Tijn het volgende:

[..]

Hmm... ik zit hier toch nog een beetje mee te stoeien. Ik wil nu graag een variabele meegeven aan m'n ajaxfunctie. Deze variabele moet ik dan dus ook weer meegeven in de timeout-functie, maar dit werkt niet:
[ code verwijderd ]

Wat is hier de goede syntax voor?

[edit] Oh wacht, ik heb het al... m'n variabele is een string, dus die moest ik ook nog even tussen enkele quotes zetten Nu werkt het wel:
[ code verwijderd ]


je kan ook het volgende doen:

1
2
3
4
5
  x= setTimeout(function(x,y,z) {
   //aanroep naar andere functie
    ajaxfunction(x,y,z);

}, 1000);


let er wel op dat het nu een anonieme functie is die je niet zomaar meer kan verwijderen :-)
Geen zinloze statements!
pi_74754826
quote:
Op zondag 15 november 2009 20:23 schreef Chandler het volgende:
Heeft iemand nog iets op te merken over mijn kleine scriptje dat middels php/json een select kan vullen?
[ code verwijderd ]

word op deze manier gebruikt
[ code verwijderd ]

en mijn test php scriptje
[ code verwijderd ]

Comments zeer welkom, kan er alleen maar van leren
  • Declareer variabelen met var. Zonder "werkt" het nu misschien ook wel, maar het kan je later in problemen brengen als ongewild variabelen overschreven worden.
  • document.getElementById(id) kost vrij veel tijd, dus roep die functie niet onnodig vaak aan. In createSelect heb je 'm maar 1 keer nodig, de uitkomst kan je zelfs weer doorgeven aan createSelectList.
  • function createSelect(id, params, selID) maakt geen select control, maar vult een bestaande met gegevens van de server. function createSelectList(id, list, selId) maakt ook geen select control, maar vult deze met de gegevens die je aanlevert.
  • try/catch kost ook vrij veel tijd. Als je van te voren al weet dat iets niet in IE gaat werken, gebruik dan gewoon een if/else. Helmaal als je het in een loop gebruikt. Je kan ook van te voren controleren of window. XMLHttpRequest bestaat, dan heb je ook geen try/catch nodig.
  • javascript in de href van een link
    quote:
    Op maandag 16 november 2009 11:21 schreef Darkomen het volgende:
    Ziet er in mijn ogen goed uit.
    Ik heb altijd wat te zeiken
  • Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_74759393
    Tnx SR ik ga met je comments aan de slag.. is een onclick in href dan wel netjes?

    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
    var selOption = false;
    var d         = new Date();
    var openReq   = false;
    var selected  = false;

    function ajaxUpdateSelect(id, params, selId)
    {
        selOption = document.getElementById(id);

        if (selOption == false)
        {
            alert('Element bestaat niet');
            return false;
        }

        openReq = createXMLHttpRequest();

        if (openReq != false)
        {
            openReq.open("GET", "/selectoption/select.php?" + params + "&c=" + escape(d.getTime()), true);
            openReq.onreadystatechange = function()
            {
                if (openReq.readyState != 4) { return; }

                if (selOption.length > 0)
                {
                    to = selOption.length;
                    for (x = 0; x <= to; x++)
                    {
                        selOption.remove(0);
                    }
                }

                ajaxUpdateSelectList(eval('(' + openReq.responseText + ')'), selId);
            }
            openReq.send(null);
        }
    }

    function ajaxUpdateSelectList(list, selId)
    {
        selOption.selectedIndex = 0;

        for (var i in list)
        {
            var optNew   = document.createElement('option');
            optNew.text  = list[i];
            optNew.value = i;

            if (i == selId) { selected = true; } 

            selOption.add(optNew);
        } 

        if (selected == true)
        {
            selOption.selectedIndex = selId;
        }
    }


    function createXMLHttpRequest() 
    {
        try { 
            return new XMLHttpRequest(); 
        } catch(e) {}
        try { 
            return new ActiveXObject("Msxml2.XMLHTTP"); 
        } catch (e) {}
        alert("XMLHttpRequest not supported");
        return null;
    }


    deze is beter dus;)

    [ Bericht 48% gewijzigd door Chandler op 16-11-2009 20:23:49 (functie namen update ;)) ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_74773925
    quote:
    Op maandag 16 november 2009 18:07 schreef SuperRembo het volgende:

    [..]

  • Declareer variabelen met var. Zonder "werkt" het nu misschien ook wel, maar het kan je later in problemen brengen als ongewild variabelen overschreven worden.
  • document.getElementById(id) kost vrij veel tijd, dus roep die functie niet onnodig vaak aan. In createSelect heb je 'm maar 1 keer nodig, de uitkomst kan je zelfs weer doorgeven aan createSelectList.
  • function createSelect(id, params, selID) maakt geen select control, maar vult een bestaande met gegevens van de server. function createSelectList(id, list, selId) maakt ook geen select control, maar vult deze met de gegevens die je aanlevert.
  • try/catch kost ook vrij veel tijd. Als je van te voren al weet dat iets niet in IE gaat werken, gebruik dan gewoon een if/else. Helmaal als je het in een loop gebruikt. Je kan ook van te voren controleren of window. XMLHttpRequest bestaat, dan heb je ook geen try/catch nodig.
  • javascript in de href van een link
    [..]

    Ik heb altijd wat te zeiken
  • Dat van de 'var' ha dik ook nog kunnen vinden

    maar wat te gebruiken dan ipv getElementById ?
    pi_74774208
    @Darkomen: er is geen vervanging voor document.getElemenyById maar je kunt het maar beter zo minimaal gebruiken (dus niet meerdere keren als het niet nodig is)
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      dinsdag 17 november 2009 @ 09:58:56 #244
    267444 Skonk
    Free Skonk
    pi_74774421
    quote:
    Op donderdag 12 november 2009 13:36 schreef Darkomen het volgende:
    Dan ga je dus combineren met wat we al hadden gegeven ;-)
    [ code verwijderd ]
    Ik ben er weer mee bezig, en ik had het ook aan de praat, waarvoor dank.
    Maar er worden drie knoppen ingedrukt in totaal, waarvan ik pas wil laten zien welke er worden gekozen als er op de laatste knop wordt gedrukt.
    Weet je misschien hoe ik dit moet doen?
    pi_74777134
    quote:
    Op dinsdag 17 november 2009 09:49 schreef Chandler het volgende:
    @Darkomen: er is geen vervanging voor document.getElemenyById maar je kunt het maar beter zo minimaal gebruiken (dus niet meerdere keren als het niet nodig is)
    oke, in princiepe doe je dat al als je iets schrijft. bedankt.

    @skonk, post dan eens precies de opdracht, je javascript en je html.
    Het is nu steeds gokken wat je nu wilt, oplossing plaatsen, dan weer een ander probleempje etc
    Dat tezamen met jouw kennis van Javascript (no offense, ik ben ook geen expert) maakt het erg lastig iets te schrijven.
      dinsdag 17 november 2009 @ 11:55:26 #246
    267444 Skonk
    Free Skonk
    pi_74777387
    quote:
    Op dinsdag 17 november 2009 11:46 schreef Darkomen het volgende:

    [..]

    oke, in princiepe doe je dat al als je iets schrijft. bedankt.

    @skonk, post dan eens precies de opdracht, je javascript en je html.
    Het is nu steeds gokken wat je nu wilt, oplossing plaatsen, dan weer een ander probleempje etc
    Dat tezamen met jouw kennis van Javascript (no offense, ik ben ook geen expert) maakt het erg lastig iets te schrijven.
    Ok, ik wil het wel doen, alleen het is wel een slordige code.
      dinsdag 17 november 2009 @ 11:58:52 #247
    267444 Skonk
    Free Skonk
    pi_74778729
    Wow.....dat krijg ik niet in tussen mn werk door herschreven/begrijpen.
    Ik heb wel je code aangepast, je enorme lijsten met buttons vervangen door een while loop
    Ook buttons die niet corssbrowser waren vervangen door document.getelementbyid
    Maar wat het script nu wanneer moet doen word me echt niet duidelijk.
    Dan zou ik echt eens wat langer moeten kijken.

    http://pastebin.com/m4b55d8a6

    Tip.
    Firefox: http://www.mozilla-europe.org/nl/firefox/
    Webdeveloper: https://addons.mozilla.org/nl/firefox/addon/60
    Daarin zit een javascript debugger.
    Begin met schrijven voor firefox, daarmee schrijf je een script welke door 99% van de browsers word geaccepteerd omdat zij zich wel aan de webstandaarden houden, IE versies lager dan 8 doen dit niet en accepteren veel rotzooi helaas
      dinsdag 17 november 2009 @ 12:51:39 #249
    267444 Skonk
    Free Skonk
    pi_74778863
    quote:
    Op dinsdag 17 november 2009 12:46 schreef Darkomen het volgende:
    Wow.....dat krijg ik niet in tussen mn werk door herschreven/begrijpen.
    Ik heb wel je code aangepast, je enorme lijsten met buttons vervangen door een while loop
    Ook buttons die niet corssbrowser waren vervangen door document.getelementbyid
    Maar wat het script nu wanneer moet doen word me echt niet duidelijk.
    Dan zou ik echt eens wat langer moeten kijken.

    http://pastebin.com/m4b55d8a6

    Tip.
    Firefox: http://www.mozilla-europe.org/nl/firefox/
    Webdeveloper: https://addons.mozilla.org/nl/firefox/addon/60
    Daarin zit een javascript debugger.
    Begin met schrijven voor firefox, daarmee schrijf je een script welke door 99% van de browsers word geaccepteerd omdat zij zich wel aan de webstandaarden houden, IE versies lager dan 8 doen dit niet en accepteren veel rotzooi helaas
    Ik schrijf al voor FireFox .
    Maar het is een soort spelletje (Rock, paper, scissors)
    pi_74779199
    in firefox waren je buttons niet disabled, en kreeg je gelijk de onderstaande foutmelding waardoor je script stopt

    Error: Button1 is not defined
    Source File: file:///C:/javascript/Copy%20of%20Noname1.html
    Line: 48

    Daarna button 2, 3, 4, 5 ... 24, 25 en dat voor elke button welke je niet had gedefineerd via getelementbyid
    Die fouten heb ik eruit gehaald en je krijgt dan geen javascript fouten meer.

    Probeer het script nav mijn code eens te herschrijven voor alleen 3 buttons, als dat allemaal werkt kan je er zoveel toevoegen wat je wil.

    Ik heb de komende tijd niet echt de tijd om te zoeken hoe het zou moeten werken.
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')