abonnement Unibet Coolblue Bitvavo
  dinsdag 6 maart 2007 @ 14:09:20 #76
12880 CraZaay
prettig gestoord
pi_46974020
Het is gewoon berekeken, dus met Math en consorten moet je een eind komen
om deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.
Ja toon me deze inhoud
ik accepteer de cookies.
meer informatie


Zou je een relevant stukje Postbank-validatie kunnen posten? Ben benieuwd hoe dat werkt.
pi_46975540
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
function CheckRekeningNummer(string, veld,id){
      var first = string.charAt(0);

      if( (first=="P") || (first=="p") ){
         var error = postbank(string);
      }
      else {
         var error = bankrekening(string);
      }
      return error;
   }


   function bankrekening(string) {
      deel1=string.substring(0,3)
      deel2=string.substring(4,11)
      controle_getal=eval(string.substring(12,14))
      getal=eval(deel1+deel2)

      if (getal%97==controle_getal){}//{window.alert("het rekeningnummer is juist")}
      else{
         return "Het veld Banknummer is onjuist.n";
      }
   }


   function postbank(string) {
      if (string.length<3) {
         return "Het veld Banknummer te kort voor postbanknummer.n"; 
      }
      else if(string.length>7)  {
         return "Het veld Banknummer te lang voor postbanknummer.n";
      }
   }


Dit heb ik ervan gemaakt

[ Bericht 1% gewijzigd door Darkomen op 06-03-2007 15:00:00 ]
  dinsdag 6 maart 2007 @ 16:14:17 #78
12880 CraZaay
prettig gestoord
pi_46978871
Ah, ok. Niet echt validatie of het een bestaand postbanknummer is dus (tenminste: het nummer zal wel bestaan, je kunt alleen niet berekenen of er een typefout gemaakt is).

Ik zou dit soort belangrijke checks overigens ook server side doen. Met Javascript is leuk, maar voorkomt natuurlijk geen verkeerde input.
pi_46979511
Nee, dat is zoals je zei niet te checken
Serversided kijk ik alleen na als ik de inhoud niet vertrouw
Er kunnen maar een paar users bij dit script en het is meer een simpele controle
pi_47002747
Ik wil dus de backgroundkleuren van divjes veranderen. In principe zijn er 3 mogelijkheden te weten:
- de achtergrond is blauw wanneer de muis niet op de div staat en de div ook niet is 'geselecteerd' (mbv een eerdere mouseup) ; tijdelijk effect
- de achtergrond is wit wanneer de muis wel op de div staat, maar de div niet is 'geselecteerd' (mbv een eerdere mouseup) ; tijdelijk effect
- de achtergrond is groen wanneer de div geselecteerd is ; blijvend effect (tot volgende selectie, maar dat moet nog ingebouwd worden)

Na wat lees en denkwerk (jaja) kwam ik op de volgende code... maar dat werkt toch niet helemaal aangezien de div na selectie toch weer blauw wordt als ik met de muis van de div af ga.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script language="javascript">
function colorOver(div){
  if(document.getElementById(div).style.background!="green"){
   document.getElementById(div).style.background="white"
  }
}
function colorOut(div){
  if(document.getElementById(div).style.background!="green"){
   document.getElementById(div).style.background="blue"
  }   
}
function colorUp(div){
document.getElementById(div).style.background="green"
}
</script>


en een van de divjes (totaal zijn er 6, maar allen volgens de zelfde structuur)

1<div id="X" onmouseover="colorOver('X')" onmouseout="colorOut('X')" onmouseup="colorUp('X')"></div>


Bij de 2 if statements heb ik ook al geprobeerd of
1if(!(document.getElementById(div).style.background=="green"))

werkt, maar ook dat werkt niet. Het zal vast wel een simpel en stom klein dingetje zijn, maar ik zie het op dit moment even niet (zal ook wel aan de tijd liggen :P)
ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
pi_47005083
Ik denk dat het niet werkt omdat nadat je style.background='green' zet, de property style.backgroundColor = 'green' wordt gezet.

Is het niet handiger om in een stylesheet de kleuren te definieren en in javascript de classes te veranderen? (bijv. element.className = 'selected')
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  woensdag 7 maart 2007 @ 09:32:12 #82
12880 CraZaay
prettig gestoord
pi_47006047
Je weet zeker dat die functies uit worden gevoerd? Het ziet er namelijk uit alsof dit zou moeten werken op het eerste gezicht.

Korter trouwens:

1
2
3
4
5
6
7
<div onmouseover="colorOver(this)" onmouseout="colorOut(this)" onmouseup="colorUp(this)"></div>

function colorOver(div){
  if (div.style.background != 'green') {
   div.style.background = "white";
  }
}


edit: Even getest, en het script doet precies wat het hoort te doen. Dat dat niet het gewenste gedrag is ligt dus niet aan het script
om deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.
Ja toon me deze inhoud
ik accepteer de cookies.
meer informatie


Je hebt namelijk de background gezet, en niet de backgroundColor. Ook al laat je de positionering e.d. leeg, ze worden toch gedeclareerd. Je had dit eenvoudig zelf kunnen testen met een alert(div.style.background). Je ziet dan dat de waarde hiervan "green none repeat scroll 0% 0%" is. En dat != green
om deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.
Ja toon me deze inhoud
ik accepteer de cookies.
meer informatie


Kortom: backgroundColor gebruiken. En nog beter idd met classNames werken zoals hierboven voorgesteld. Scheiding van gedrag en presentatie enzo.

[ Bericht 16% gewijzigd door CraZaay op 07-03-2007 10:07:11 ]
  woensdag 7 maart 2007 @ 22:19:05 #83
104583 cyberstalker
Een krachtig neen!
pi_47034199
Ik heb een functietje geschreven dat automatisch naar het volgende inputveld gaat wanneer het maximum aantal karakters is ingevuld.

Nu is het probleem dat het de waarde in Fx niet wordt bijgewerkt tot nadat de functie klaar is, terwijl de waarde in Opera direct wordt geupdate.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function auto_focus(event)
{
        var link        =       event.target;
        var inputvalue  =       link.value;
        var next_node   =       nextNode(link);

        if (inputvalue.length + 1 < link.getAttribute('maxlength'))
        {
                return false;
        }

        while (next_node.nodeName != link.nodeName && next_node != null)
        {
                next_node       =       nextNode(next_node);
        }

        if (next_node != null)
        {
                next_node.focus();
        }
}
Dit werkt zo in Firefox, omdat ik nu zelf 1 optel bij inputvalue.length. In opera kun je nu echter een karakter te weinig invullen.

Hoe kan ik dit zo maken dat het in alle browsers goed werkt? Ik gebruik overigens het event keypress:

1
2
3
4
5
6
7
for (i = 0; i < inputs.length; i++)
{
        if (inputs[i].hasAttribute('maxlength'))
        {
                inputs[i].addEventListener('keypress', auto_focus, false);
        }
}
Hope for the best, prepare for the worst.
pi_47035225
Waarschijnlijk zie je bij de keypress event in FF de oude waarde (voor het verwerken van de toetsaanslag), in Opera de nieuwe waarde (na het verwerken van de toetsaanslag). Krijg je wel de nieuwe waarde bij keyup?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_47044569
Interessant scriptje!, en ik denk dat SR gelijk heeft.
pi_47405496
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
function makeObject()
{   var x;   
if (window.ActiveXObject) {   
   x = new ActiveXObject("Microsoft.XMLHTTP");   }
else if (window.XMLHttpRequest) {
      x = new XMLHttpRequest();   
   }   
return x;
}
var request = makeObject();

//AJAX the content
var $url;
var $div;
function check_content($url,$div){   
request.open('get', $url);   
request.onreadystatechange = parseCheck_content($div);   
request.send('');}
function parseCheck_content($div){   
if(request.readyState == 1){      
   document.getElementById($div).innerHTML = 'Loading...<br/><img src="spinner.gif" alt=""/>';   
   }   
if(request.readyState == 4){      
var answer = request.responseText;      
document.getElementById($div).innerHTML = answer;   }}


Ik ben bezig met een simel ajaxscriptje. Ik heb het basisscript wekzaam gekregen allen met mijn uitbreiding doet hij het niet.

IE geeft de foutmelding: "typen komen niet overeen".
pi_47406835
request.onreadystatechange verwacht een functie, jij kent er het resultaat van een functie aan toe (die geen waarde terrug geeft).

Lijn je code ook eens netjes uit, dit lijkt nergens op.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_47407316
1request.onreadystatechange = parseCheck_content($div);

Dit roept toch een functie aan? Volgens mij mis ik ergens iets? :@
pi_47408985
request.onreadystatechange is een functie die wordt uitgevoerd als de readystate veranderd. Het moet dus een functie zijn die uitgevoerd kan worden.
Bij jouw script wordt parseCheck_content($div) al uitgevoerd op het moment dat het aan request.onreadystatechange wordt toegekend.

1
2
3
4
5
6
7
8
9
10
11
12
13
function check_content($url, $div) {   
   request.open('get', $url);   
   request.onreadystatechange = function() {
      if (request.readyState == 1) {      
         document.getElementById($div).innerHTML = 'Loading...<br/><img src="spinner.gif" alt=""/>';   
      }   
      if (request.readyState == 4){      
         var answer = request.responseText;      
         document.getElementById($div).innerHTML = answer;   
      }
   }
   request.send('');
}


Waarom gebruik je die $-tekens? Het is toch geen php
om deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.
Ja toon me deze inhoud
ik accepteer de cookies.
meer informatie
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_47413697
Met die $ -tekens kan ik makkelijk zien wat variablen zijn.

Maar ik begrijp nu in ieder geval waar de fout zit! Dank je wel.
Ik zal morgen eens kijken hoe ik dit ga aanpassen.
  dinsdag 20 maart 2007 @ 20:57:24 #91
74523 BaggerUser
ModderFokker!
pi_47487187
het is eigenlijk javascript icm php.. maar krijg de komma's niet goed wordt gek aaaaah (jullie kennen het gevoel vast wel)
<?php
$NAVIGATIE_rechts .= '<li><a href='#' onClick='showHint("ARTIKELEN")'>ARTIKELEN</a></li>';
?>

1
2
3
<script language='javascript'>
document.getElementById("navigatierechts").innerHTML = '<?php echo $NAVIGATIE_rechts; ?>';
</script>



het ligt aan de quotjes etc.. maar ik probeer al een uur te escapen etc maar het wel niet lukken..
De enige echte BaggerUser!
Riemen
fiets kopen
  dinsdag 20 maart 2007 @ 21:15:23 #92
85514 ralfie
!Yvan eht nioj
pi_47487965
1
2
3
<?php
$NAVIGATIE_rechts 
.='<li><a href="#" onClick="showHint(\\\'ARTIKELEN\\\')">ARTIKELEN</a></li>';
?>

even uit mn kopke
  dinsdag 20 maart 2007 @ 21:27:07 #93
74523 BaggerUser
ModderFokker!
pi_47488520
maar 3 \ had ik nog niet geprobeerd.. kan dat ookal
om deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.
Ja toon me deze inhoud
ik accepteer de cookies.
meer informatie


dankjewel!!!! kan ik eindelijk weer een stukje verder!
om deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.
Ja toon me deze inhoud
ik accepteer de cookies.
meer informatie
De enige echte BaggerUser!
Riemen
fiets kopen
pi_47550276
Iemand enig idee waarom:

1
2
3
function aapnootmies(aap,noot){
document.getElementById(aap+noot).value = "Mies!";
}


wel werkt, en onderstaande code:

1
2
3
4
5
function aapnootmies(aap,noot){
for (var i = 0; i <= 2; i++){
document.getElementById(aap+i).value = noot;
}
}


Niet? Ik raak hier een beetje gefrustreerd :P
pi_47550818
is er wel een element met het id aap0?

om deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.
Ja toon me deze inhoud
ik accepteer de cookies.
meer informatie
pi_47551239
Jep. Ik heb het nu compleet opnieuw geschreven, waarna het opeens wel werkte. Zeer vreemd, want mijn blote oog kon geen verschil ontdekken
om deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.
Ja toon me deze inhoud
ik accepteer de cookies.
meer informatie


Ik dacht eigenlijk meer dat het kwam door de manier waarop ik de variabele I opvroeg.
pi_47551425
Zeer zeker erg vreemd, omdat ik em heb gekopieerd van jou en hij werkt wel.
http://www.danielpunt.nl/geqxie.htm
pi_47551932
1
2
3
for (var counter=start; counter<=end; counter++){
   document.getElementById(field+counter).value = document.getElementById(field+id).value;
}

1
2
3
4
   
for (var i=start; i<=end; i++){
   document.getElementById(field+i).value = document.getElementById(field+id).value;
}


In mijn geval werkte het tweede stukje code flawless :)
pi_47588909
Ik vraag me iets af, mijn kennis van JS is 0:
Ik heb een stukje HTML waarin ik meerdere foto's in dezelfde pagina om de beurt wil weergeven. Kan ik dan in JS iets van een array maken met de bestandsnamen en dat ik dan op 'volgende' kan klikken dat de volgende foto geladen wordt, of eventueel heel het HTML bestand opnieuw inclusief de volgende foto?
pi_47589050
Ja dat kan. Gewoon de src van het plaatje veranderen met javascript.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')

Het lijkt erop dat je onze advertenties blokkeert

Dat begrijpen we, maar is wel erg jammer. Je kunt FOK! namelijk wel gratis LEZEN, maar we kunnen FOK! niet gratis MAKEN. De inkomsten van de advertenties zorgen ervoor dat we de kosten van de site kunnen dragen zodat je ook morgen FOK! nog kunt bezoeken.

Zou je willen overwegen om voor FOK! een uitzondering te maken in je adblocker (of andere middelen die onze ads blokkeren)? Je krijgt deze melding dan nooit meer te zien.

Ja, ik wil fok.nl whitelisten, laat me zien hoe

Ik neem liever een premium account zodat ik geen advertenties hoef te zien (je moet eerst inloggen)
Ja, breng me naar de shop