abonnement Unibet Coolblue
  Lieve Belg woensdag 6 april 2005 @ 15:33:51 #1
86282 Jump
[Belg.] Jump (de ~ (m.))
pi_26025220
Deel 1 zat vol:

[javascript] voor dummies

Op zondag 28 oktober 2007 01:07 schreef clumsy_clown het volgende:
Jump daarentegen, is wįy minder braaf en lief dan hij lijkt
          «shmoop|dingen» jawel, jij bent Superjump
pi_26027301
tvp dan maar?
Just say hi!
pi_26027976
tvp
© ©
pi_26059183
Kom ik maar met mijn probleem...

Deze checkboxes voor opleidingen heb ik:
1
2
3
4
5
6
      <input type="checkbox" name="opleiding" value="mavo">Mavo<br>
      <input type="checkbox" name="opleiding" value="havo">Havo<br>
      <input type="checkbox" name="opleiding" value="vwo">VWO<br>
      <input type="checkbox" name="opleiding" value="hts">MBO<br>
      <input type="checkbox" name="opleiding" value="hts">HBO<br>
      <input type="checkbox" name="opleiding" value="uni">Universiteit


Deze code controleert of er een opleiding gekozen is:
1
2
3
4
5
function checkOpleiding() 
  { 
  if(document.getElementById('opleiding').checked == false) alert("Vink 1 of meerdere opleidingen aan");
  else checkRijbewijs(); 
  }


Hij geeft geen foutmelding als je de Mavo aanvinkt (eventueel met andere opties). Als je bijv. alleen Havo aanvinkt (en Mavo niet), dan krijg je toch nog de foutmelding. Wat moet ik veranderen?
pi_26059816
Als je document.getElementById gebruikt dan moet je een unieke ID opgeven.

(Dat Internet Explorer toch die eerste checkbox teruggeeft is gewoon fout)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_26059920
Ok, is er dan een mogelijkheid dat die de 6 vakjes naloopt om te kijken of er 1 van is aangevinkt ?
pi_26060218
Een loopje maken en de ID's aflopen.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_26060639
Of getElementsByName() gebruiken. Krijg je een array van alle elementen met de opgegeven naam terug
pi_26060847
Het element opleiding is een array, met daarin alle afzonderlijke checkboxes. Als je zou willen checken of een of meer daarvan aangevinkt zijn, moet je dus een loop gebruiken:

1
2
3
4
5
6
7
8
9
10
11
12
function checkOpleiding()
{
  var ietsAangekruist = false;
  var opleiding = document.formnaam.opleiding;
  for (i=0; i<opleiding.length; i++)
  {
    if (opleiding[i].checked)
      ietsAangekruist = true;
  }
  if (!ietsAangekruist)
    alert("Vink 1 of meerdere opleidingen aan");
}
Unox, the worst operating system.
pi_26061783
Ok, bedankt!!

[ Bericht 50% gewijzigd door Poerkie op 08-04-2005 00:29:53 ]
  FOK!-Schrikkelbaas woensdag 13 april 2005 @ 16:13:07 #11
1972 Swetsenegger
Egocentrische Narcist
pi_26198511
hoe haal ik het eerste karakter uit een string weg?
de string is bv 'hallo wereld', hoe maak ik daar 'allo wereld' van (ongeacht het eerste karakter)
pi_26198618
quote:
Op woensdag 13 april 2005 16:13 schreef Swetsenegger het volgende:
hoe haal ik het eerste karakter uit een string weg?
de string is bv 'hallo wereld', hoe maak ik daar 'allo wereld' van (ongeacht het eerste karakter)
http://www.devx.com/tips/Tip/15222

Dat wordt dus:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function Left(str, n){
   if (n <= 0)
       return "";
   else if (n > String(str).length)
       return str;
   else
       return String(str).substring(0,n);
}
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}
function kapaf() {
   var a = 'hallo wereld';
   a = Right(a,a.length -1);
   alert(a);
}


[ Bericht 39% gewijzigd door sop op 13-04-2005 16:22:49 ]
  FOK!-Schrikkelbaas woensdag 13 april 2005 @ 16:25:38 #13
1972 Swetsenegger
Egocentrische Narcist
pi_26198843
quote:
Op woensdag 13 april 2005 16:16 schreef sop het volgende:

[..]

http://www.devx.com/tips/Tip/15222

Dat wordt dus:
[ code verwijderd ]
Mijn god, wat een teringtaal is javascript toch.
36 regels code voor het verwijderen van 1 karakter
pi_26198903
quote:
Op woensdag 13 april 2005 16:25 schreef Swetsenegger het volgende:

[..]

Mijn god, wat een teringtaal is javascript toch.
36 regels code voor het verwijderen van 1 karakter
Kan ook een stuk korter. Sowieso heb je in dit geval die Left functie niet nodig.

Waarschijnlijk kan het zelfs op 1 regel. Maar die Left & Right functies zitten niet in JavaScript en die gebruik ik bij andere talen ook vrij vaak. Je kunt voor kortere code aan de gang met a.substring.
  FOK!-Schrikkelbaas woensdag 13 april 2005 @ 16:31:03 #15
1972 Swetsenegger
Egocentrische Narcist
pi_26198999
quote:
Op woensdag 13 april 2005 16:27 schreef sop het volgende:

[..]

Kan ook een stuk korter. Waarschijnlijk zelfs wel op 1 regel. Maar die Left & Right functies zitten niet in JavaScript en die gebruik ik bij andere talen ook vrij vaak. Je kunt voor kortere code aan de gang met a.substr ing
Ow, substring bestaat gewoon in java?
Mooi, ff zoeken
pi_26199046
quote:
Op woensdag 13 april 2005 16:31 schreef Swetsenegger het volgende:

[..]

Ow, substring bestaat gewoon in java?
Mooi, ff zoeken
Koekeloert U eens in de Right functie hierboven. Daar staat hij ook in.
  donderdag 14 april 2005 @ 17:50:41 #17
69357 R-Mon
jong en dynamisch
pi_26226974
Ik heb een leuk scriptje gevonden om variabelen uit url's te halen:

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
String.prototype.decodeURL = function() {
    return unescape(this.replace(/\+/g, " "));
}

function ParsedQueryString()
{
    var parameters = {};
    
    parse();
    function parse() {
        var parts = window.location.search.substr(1).split(/[&;]/);
        for (var i = 0; i < parts.length; ++i) {
            var pair = parts[i].split(/=/);
            var name = pair[0].decodeURL();
            var value = pair[1] != undefined ? pair[1].decodeURL() : undefined;
            if (parameters[name] == undefined)
                parameters[name] = [value];
            else
                parameters[name].push(value);
        }
    }
    
    this.param = function(name) {
        return parameters[name] != undefined ? parameters[name][0] : undefined;
    }
    
    this.params = function(name) {
        if (arguments.length)
            return parameters[name] != undefined ? parameters[name] : null;
        else {
            var pnames = [];
            for (var p in parameters)
                pnames.push(p);
            return pnames;
        }
    }
}

var pqs = new ParsedQueryString();


Dan kijk ik of welcome ingevuld is.

1
2
3
if(pqs.param('welcome')) {
   go_welcome = 1;
}


Daaronder staan twee functies gedefinieerd.

1
2
3
4
5
6
7
8
9
10
11
function copyright() {
   document.write("copyright");
}
function welcome(setting) {
   if(setting) {
      document.write("welcome");
   }
   else {
      document.write("");
   }
}


Dat alles staat in includes.js, die ik aanroep met een HTML pagina.

1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
<head>
<script type="text/javascript" src="includes.js"></script>
</head>
<body>
<div style="background-color:yellow;">
<script type="text/javascript">
welcome(go_welcome);
copyright();
</script>
</div>
</body>
</html>


Als je dit oproept via index.html?welcome=1 geeft ie mooi welcomecopyright in een geel kader weer. Als je echter geen variabele meegeeft werkt copyright() ook niet en verschijnt er helemaal niets. Iemand enig idee?

Het staat ook allemaal op http://test.globalog.net/js/ , dat is misschien wat duidelijker.

[ Bericht 1% gewijzigd door R-Mon op 14-04-2005 17:52:31 (meervoud, linkje) ]
&lt;tsjsieb&gt; maarja, jij bent ook gewoon cool R-Mon :p
pi_26227649
Zonder parameter geeft ie een foutmelding

1
2
3
Error: go_welcome is not defined
Source File: http://test.globalog.net/js/
Line: 8


Dan wordt copyright() dus niet meer uitgevoerd.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  vrijdag 15 april 2005 @ 12:54:22 #19
69357 R-Mon
jong en dynamisch
pi_26245825
quote:
Op donderdag 14 april 2005 18:17 schreef SuperRembo het volgende:
Zonder parameter geeft ie een foutmelding
[ code verwijderd ]

Dan wordt copyright() dus niet meer uitgevoerd.
Ik snap hem. Ik heb nu dat als welcome niet wordt meegegeven, go_welcome=0. En dan wordt in de functie gecheckt of setting==1. Opgelost, dankjewel.
&lt;tsjsieb&gt; maarja, jij bent ook gewoon cool R-Mon :p
  FOK!-Schrikkelbaas maandag 18 april 2005 @ 21:18:34 #20
1972 Swetsenegger
Egocentrische Narcist
pi_26332569
Ik heb een scriptje welke een window resized naar de breedte en de hoogte van de inhoud:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script type="text/javascript">

if (parseInt(navigator.appVersion.charAt(0))>=4){
var isNN=(navigator.appName=="Netscape")?1:0;
var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}


function reSizeToImage(){
if (isIE){
window.resizeTo(100,100);
width=100-(document.body.clientWidth-document.images[0].width);
height=100-(document.body.clientHeight-document.images[0].height);
window.resizeTo(width,height);}
if (isNN){
window.innerWidth=document.images["oorebeek"].width;
window.innerHeight=document.images["oorebeek"].height;}}
</script>


Werkt perfect in FF, in IE niet:

document.images.0.width is null or not an object

Wat doe ik fout?

-edit- Er stond een fout in de body tag (> vergeten) waardoor de image niet geladen werd en DUS document.images.0.width inderdaad null is...

[ Bericht 2% gewijzigd door Swetsenegger op 18-04-2005 21:32:26 ]
pi_26486058
Ik heb 240 namen, nu wil iemand een nieuwe naam toevoegen, alleen wil ik eerst checken of die naam niet al bestaat. Dit wil ik in javascript doen omdat het onderdeel van een formulier is.
Nu dacht ik, als ik die 240 namen nou in een array zet, dan kan ik controleren of die naam in het array zit...
Kan dat handiger dan met een forloopje? lijkt mij een beetje traag namelijk een for loopje..
pi_26486843
240 namen? Dat gaat zo snel dat je er niets van merkt.

Een testje met een array van 100.000 strings ging in 250 ms
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_26487173
ooooooow dan, bedankt voor de test.
dus zoiets:
1
2
3
4
5
for(i=0;i<length(array);i++){
    if(array[i] == input){
        alert('bestaat al');
    }
}

En hoe heb je die tijd gemeten?
pi_26487402
1
2
3
4
5
6
7
8
9
10
var start = new Date();

// normale loop
for (var i = 0; i < names.length; i++) {
   if (names[i] == name) {
      // found
   }
}

var time = new Date().valueOf() - start.valueOf();


1
2
3
4
5
6
7
// snellere loop (telt terug)
var i = names.length;
while (i--) {
   if (names[i] == name) {
      // found
   }
}
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_26689447
hoop dat iemand mij kunt helpen.. ik ben met een cmsje bezig, nog steeds ja.. nu zit er een module onderwerpen (als categorie) in de cms.. ieder onderwerp moet een kleur kunnen krijgen, dus ik heb een tabel gemaakt waar alle beschikbare kleuren in staan.
onder de tabel staan twee text velden. als ik over een kleur hover, veranderd de value van het bovenste textveld in de kleur value. als ik op een van de kleuren klik, komt de kleur waarde vast te staan.

nu wil ik nog een formulier veld invoeren waarbij de achtergrond kleur van een object (div? textveld?) daadwerkelijk veranderd. ik heb nu het volgende:

1
2
3
4
5
6
7
8
9
10
11
function hover(kleur)
   {
      var veld = document.getElementById('color');
      veld.value = '#' + kleur;
   }

function klik(kleur)
   {
      var veld = document.getElementById('vast');
      veld.value = '#' + kleur;
   }


hier veranderd de value van het veld, maar hoe kan ik via een stijl element de achtergrond kleur laten veranderen? zelf dacht ik aan:
1veld.style.background-color = kleur;


maar dat werkt niet..
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')