abonnement Unibet Coolblue Bitvavo
pi_44343806


De (voorlopige) OP van de [Javascript] voor dummies reeks.
Hier kan je alle vragen stellen over Javascript en alles wat er mee te maken heeft.

Heb je een probleem, post dan ook even de code waar het probleem zit Zo kunnen we je beter proberen te helpen.

Vorige delen:
[Javascript] voor dummies - Deel 1
[Javascript] voor dummies - Deel 2
[Javascript] voor dummies - deel 3
[Javascript] voor dummies - deel 4
{hier de link van het vorige deel}

Handige links:
Quircksmode Javascript
Javascript Cheat Sheet
Mis je een link? Geef even een gil in het topic

Tutorials:
W3Schools Javascript
W3Schools AJAX

Laatste posts uit het vorige topic:
quote:
Op maandag 11 december 2006 23:39 schreef Litpho het volgende:

[..]

Geef je aan de functie alleen de buttonnaam mee, of het buttonobject (evt. opgehaald met iets als document.getElementById)?
quote:
Op maandag 11 december 2006 23:41 schreef mschol het volgende:

[..]

alleen button naam m.b.v. this.name
Deze OP: http://wiki.fok.nl/index.php/OP/Javascript
pi_44343887
Ah. Je probeert een property (disabled) te veranderen van een buttonobject maar in plaats daarvan zet je een property (disabled) van een stringobject.

Kijk of je in je HTML-code dezelfde buttonnaam ook als id kan opnemen en neem in je javascript de volgende code op:
1
2
3
4
5
6
7
function AddFile(place,file,button)
{
var btn = document.getElementById(button);
   newWindow = window.open('add.php?path='+place+'&file='+file,"add_file","status=0,menubar=0,height=250,width=100,top=60px,left=100px");
   btn.disabled=true;
   newWindow.focus();
}
"If you are depressed you shouldn't be in C major!" - Rick Beato
pi_44343992
quote:
Op maandag 11 december 2006 23:46 schreef Litpho het volgende:
Ah. Je probeert een property (disabled) te veranderen van een buttonobject maar in plaats daarvan zet je een property (disabled) van een stringobject.

Kijk of je in je HTML-code dezelfde buttonnaam ook als id kan opnemen en neem in je javascript de volgende code op:
[ code verwijderd ]
ik loop altijd met dit verschil te vechten, en nog steeds vergeet ik het
maar dan wordt me ID 'NULL' ik ga zelf nog eff vechten, ben in iedergeval weer een eind verder

wel this.name naar this.id veranderen

anyways et werkt

[ Bericht 14% gewijzigd door mschol op 11-12-2006 23:58:22 ]
pi_44344406
Waarom de name of id doorgeven als je de button zelf al kent?

1
2
3
function test(button) {
   button.disabled = true;
}


1<input type="button" onclick="test(this);return false;" value="Test">


En de name doorgeven en dan getElementById() gebuiken lijkt me ook niet handig. Misschien dat het in IE werkt, maar in FF uiteraard niet (en terecht!).
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_44344482
quote:
Op dinsdag 12 december 2006 00:02 schreef SuperRembo het volgende:
En de name doorgeven en dan getElementById() gebuiken lijkt me ook niet handig. Misschien dat het in IE werkt, maar in FF uiteraard niet (en terecht!).
Er was een reden dat ik erbij zette dat je de naam ook als id-waarde moest opnemen in je HTML .

Het komt nog wel eens voor dat ik wel een naam/id heb (bijv. teruggegeven vanuit een AJAX-callback) maar niet een object. Anders kan je inderdaad net zo goed het object meegeven.
"If you are depressed you shouldn't be in C major!" - Rick Beato
pi_44344507
quote:
Op dinsdag 12 december 2006 00:02 schreef SuperRembo het volgende:
Waarom de name of id doorgeven als je de button zelf al kent?
[ code verwijderd ]


[ code verwijderd ]

En de name doorgeven en dan getElementById() gebuiken lijkt me ook niet handig. Misschien dat het in IE werkt, maar in FF uiteraard niet (en terecht!).
name doorgeven werkt ook niet, id doorgeven daarin tegen werkt vlekkeloos..
het kan vast beter maar aangezien een een eigen brouwseltje is dat op een lokale webserver draait waar nooit iemand bij kan komen behalve ikzelf hoeft de code niet geoptimalizeerd te worden
thnx for de input overigens
pi_44348052
tvp voor de toekomst
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_44867927
Ik zit weer eens te stoeien met IE, maar ik kom er niet uit. IE kan (zoals wellicht bekend) het niet aan dat je een input element nog aanpast, nu had ik daar een workaround voor gevonden, maar ik krijg het niet aan de praat.

Het gaat om de volgende twee functies:
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
function createUpload(numberOfElements, objectId){
  var element = document.getElementById(objectId);
  
  for (var x = 1; element.childNodes.length > 0; x++){
    element.removeChild(element.firstChild);
  }
  
  for(var i = 1; i <= numberOfElements; i++){
    createNewElement(objectId, "", "input", {type: "file", name: "uploadFile[]"}, "");
  }
}

function createNewElement(parent, beforeWhat, name, attrs, text) {
    var parent                                    =   document.getElementById(parent);
    try { 
      /*
       IE fix for input elements
      */
      if (attrs){
        var attributes                            =   "<" + name +" ";
        for (key in attrs) {
          attributes                              +=  key +"=""+ attrs[key] +"" ";
        }
        attributes                                +=  ">";
      }
      
      var e                                       =   document.createElement(attributes);
    } 
    catch (element) {
    }
    
    if (!e || e.nodeName != type.toUpperCase()) {
      var e                                       =   document.createElement(name);
      
      if (attrs) {
        for (key in attrs) {
          switch(key){
            case "class":
              e.className                             =   attrs[key];
            break;
            
            case "id":
              e.id                                    =   attrs[key];
            break;
            
            case "name":
            break;
            
            default:
              e.setAttribute(key, attrs[key]);
          } 
        }
      }
    }
  
  
  if (text) {
    e.appendChild(document.createTextNode(text));
  }
  
  if(beforeWhat != ""){
    var beforeWhat                                =   document.getElementById(beforeWhat);
    parent.insertBefore(e, beforeWhat);
  }
  else{
    parent.appendChild(e);
  }
}


Hoe krijg ik het aan de praat in IE?
pi_44875150
Hier heb je lopen klooten met quotjes:
1          attributes                              +=  key +"=""+ attrs[key] +"" ";


Hier bestaat 'type' niet, zal waarschijnlijk iets met attrs['type'] moeten zijn
1    if (!e || e.nodeName != type.toUpperCase()) {



Beetje lomp om zo'n heel blok in een try/catch te zetten terwijl je makkelijk kan bepalen of je met IE te maken hebt. Dan hoeven andere browsers niet onnodig die code uit te voeren die toch niet gaat werken.

En wat een ranzige uitlijning van je code
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_44882835
quote:
Op zaterdag 30 december 2006 23:38 schreef SuperRembo het volgende:
Hier heb je lopen klooten met quotjes:
[ code verwijderd ]
dat was FOK!, niet ik , in de paste stond het goed
quote:
Hier bestaat 'type' niet, zal waarschijnlijk iets met attrs['type'] moeten zijn
[ code verwijderd ]
dat zal hem wellicht zijn idd .
quote:
Beetje lomp om zo'n heel blok in een try/catch te zetten terwijl je makkelijk kan bepalen of je met IE te maken hebt. Dan hoeven andere browsers niet onnodig die code uit te voeren die toch niet gaat werken.
Persoonlijk vind ik browsersniffing nog ranziger en onderhoudsonvriendelijker .
quote:
En wat een ranzige uitlijning van je code
persoonlijke smaak
pi_44887190
quote:
Op zondag 31 december 2006 10:03 schreef rickmans het volgende:
persoonlijke smaak
Leuke link . Dan nog zou ikzelf de assignment targets niet allemaal ergens op ver rechts uitlijnen, maar zoals je zegt, dat is persoonlijke smaak (en niets wat een goede code formatter niet ongedaan kan maken ).
"If you are depressed you shouldn't be in C major!" - Rick Beato
pi_44889040
quote:
Op zaterdag 30 december 2006 23:38 schreef SuperRembo het volgende:
En wat een ranzige uitlijning van je code
vind ik ook maar das zoals eerder gezegd persoonlijke smaak,
ik houd van veel ruimt zodat het snel te lezen is (voor mij iig)
pi_44890545
En wat is dan bijvoorbeeld een goede code formatter voor javascript? En dan liefst een die niet op z'n bek gaat bij een flinke hoeveelheid code.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_44893639
het vragen van de grootte van een venster, hoe doe ik dat?
ik dacht altijd via window.width of window.height
maar ik lees iets over innerwidth en outerwidth
  Moderator zondag 31 december 2006 @ 16:06:10 #15
1424 crew  Jimbo
Gråtrunka
pi_44893682
lol ik kijk net in de topic en ik denk wtf doet dit in ONZ..... zit ik in DIG
Op donderdag 20 augustus 2020 17:36 schreef Notorious_Roy het volgende:
Naast alle onzin die je uitkraamt heb je af en toe ook gewoon heel verstandige posts.
Op dinsdag 10 augustus 2021 16:32 schreef yvonne het volgende:
@:Jimbo voor mod, yeah *O*
pi_44894041
De property's voor de breedte en hoogte van een window hangen af van de browser. Bij IE hangt het er ook nog van af of het een normaal window of een modal dialog is.

Zie bijv. http://www.quirksmode.org/js/winprop.html
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_45241507
1
2
3
4
5
6
7
8
9
10
11
12
function styleAbbr() {
   var oldBodyText, newBodyText, reg;

   oldBodyText = document.body.innerHTML;
   reg = /<abbr([^>]*)>([^<]*)</abbr>/g;
   newBodyText = oldBodyText.replace(reg, '<abbr $1><span class="abbr" $1>$2</span></abbr>');
   document.body.innerHTML = newBodyText;
}

window.onload = function(){
   styleAbbr()
}


Ik heb dit script (gekregen van iemand) Om in Internet Explorer er voor te zorgen dat de abbr tag toch 'werkt'
Maar in Internet Explorer werkt het juist niet. In Firefox wel. Maar daar hoeft het niet want de abbr tag werkt daar gewoon.

Dus, wat is er fout aan dat het niet in IE werkt?
pi_45242414
Misschien een idee om de slash in je regular expression te escapen met een backslash?
1   reg = /<abbr([^>]>([^<]<\/abbr>/g;
"If you are depressed you shouldn't be in C major!" - Rick Beato
pi_45243618
Staat 'ie ook, maar Fok! neemt em niet over.

Hier staat een online voorbeeld.
http://lab.danielpunt.nl/abbr.html
pi_45243967
Om de een of andere reden haalt hij <p><abbr title="Cascading Style Sheets">CSS</abbr></p> op met de elementen in uppercase. Voeg ignore case toe aan je regexp en het werkt bij mij in IE.
"If you are depressed you shouldn't be in C major!" - Rick Beato
pi_45244109
uhm, ik ben niet zo goed in JavaScript. Maar ik ga het proberen. Zo leer ik er ook nog eens van
Dank je wel
pi_45246392
Lijkt me geen lekker scriptje om op iets grotere pagina's te gebruiken. IE zal de pagina op deze manier altijd 2x moeten opbouwen. Helemaal lullig in IE7, want die ondersteunt de abbr tag wel.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_45246955
Het gaat ook niet gebruikt worden op grote pagina's.
En kan ik niet filteren op lagere versie's dan IE 6?

Anders moet ik het in PHP gaan maken.
pi_45253231
Je kunt 't met conditional comments verbergen voor browser die 't wel ondersteunen.

1
2
3
4
5
6
7
8
<!--[if IE lt 7]>
<script type="text/javascript">
window.onload = function() {
   var b = document.body;
   b.innerHTML = b.innerHTML.replace(/<abbr([^>]*)>([^<]*)<\/abbr>/gi, '<abbr $1><span class=\"abbr\" $1>$2</span></abbr>');
}
</script>
<![endif]-->


(niet echt getest)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_45401554
Oh stom, niet aan gedacht. Er staat 1 klein foutje in jou code:
1
2
3
<!-- if lt IE 7]>
//code
<![endif]-->

Zo werkt het wel :) Dank!
pi_46009720
Korte vraag; kun je bij een alertbox de text op de OK-button veranderen?
Zo ja; hoe?
pi_46014684
Kort antwoord: nee.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_46014872
Helaas. Zo'n vermoeden had ik al.
  woensdag 7 februari 2007 @ 12:46:10 #29
5637 koekiemonster
Goede reaktie ------------>
pi_46071209
ik heb nu een cms waarmee ik door middel van js bepaalde informatie in een contentveld plaats.
nu wil ik deze informatie omvormen.

ik plaats door middel van een knop een javascript string, waarmee ik filmpjes kan tonen.
Nu wil ik onload een aantal elementen uit deze string filteren.
Het kan dus voorkomen dat onderstaande string meerdere keren voorkomt, met andere waarden.

Welke waarden wil ik filteren?
- width-waarde;
- height-waarde;
- van flashvars, de naam achter file=
- van flashvars de waarde achter img=

Dit is zo'n string, maar in mijn editor kunnen er dus bijvoorbeeld wel 10 vookomen.
quote:
<p id="player1881">
<a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.
</p>

<script type="text/javascript">
var FO = {
movie:"player.swf",
width:" 200" ,
height:"200",
majorversion:"7",
build:"0",
bgcolor:"#FFFFFF",
flashvars:"file=/lynx/uploads/Flash/test.flv&showdigits=true&backcolor=0xABD7FE&showicons=true&image=bla.jpg"
};
UFO.create(FO, "player1881");
</script>


Hoe kan ik op de makkelijkste manier hierdoorheen loopen en de gewenste waarden filteren?
koekje erbij?
  woensdag 7 februari 2007 @ 17:30:17 #30
5637 koekiemonster
Goede reaktie ------------>
pi_46079973
help?
koekje erbij?
pi_46081008
quote:
Op woensdag 7 februari 2007 17:30 schreef koekiemonster het volgende:
help?
Niet al te ongeduldig doen he.


Met String.replace() en een regexp moet je een heel eind kunnen komen.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_46084588
Leuke vraag denk ik:

Stel ik wil een POPUP op een website en deze popup wil ik maar 1x laten zien! nu hebben genoeg mensen een popup blokker dus als mensen de pagina reloaden dan krijgen ze de popup niet meer te zien. Nu wil ik alleen de popup laten verdwijnen als de popup daadwerkelijk is geopend.. hoe realiseer ik dit?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 7 februari 2007 @ 20:03:09 #33
87845 SynchroSteve
Synchronous Insane
pi_46084916
quote:
Op woensdag 7 februari 2007 19:50 schreef Chandler het volgende:
Leuke vraag denk ik:

Stel ik wil een POPUP op een website en deze popup wil ik maar 1x laten zien! nu hebben genoeg mensen een popup blokker dus als mensen de pagina reloaden dan krijgen ze de popup niet meer te zien. Nu wil ik alleen de popup laten verdwijnen als de popup daadwerkelijk is geopend.. hoe realiseer ik dit?
Met een cookie?
pi_46096459
Cookie wordt toch ook aangemaakt wanneer de popup zich niet laat zien?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  donderdag 8 februari 2007 @ 09:51:32 #35
85514 ralfie
!Yvan eht nioj
pi_46097051
quote:
Op donderdag 8 februari 2007 09:25 schreef Chandler het volgende:
Cookie wordt toch ook aangemaakt wanneer de popup zich niet laat zien?
Je kunt de popup het koekje laten bakken
pi_46108906
true true, ik zal er eens naar kijken
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_46296097
Een andere vraag.

Ik heb de volgende scripts

popback.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script language="javascript">
function popUp()
{
    day = new Date();
    id = day.getTime();
    window['page'+id] = window.open('popback1.html', id , 'toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=0');
}
</script>

<form method="post" name="userinfo">
    <input type="text" name="name"><br/>
    <input type="text" name="cijfer"> - <a href="#" onClick="javascript:popUp();">Select</a><br/>
    <input type="submit" name="send" value="Verstuur">
</form>


en popback1.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script language="javascript">
function returnVariable(formName, fieldName, content)
{
  opener.document.forms[formName].elements[fieldName].value = content;
}

function wclose()
{
    window.close();
}
</script>

<form name="cijfertjes">
    <input type="text" name="cijfer"> 
    <input type="submit" name="Verzend" onclick="returnVariable('userinfo','cijfer',  this.form.elements['cijfer'].value); wclose();">
</form>


Nu wil ik eingelijk het volgende.. De popup zit nu vast aan 1 veld, maar ik zou eingelijk variabelen mee willen geven aan de popup zodat ik de return veld variabel kan maken.

Heeft iemand een idee

ook van wat ik bedoel?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 14 februari 2007 @ 14:40:47 #38
85514 ralfie
!Yvan eht nioj
pi_46296526
je kunt je variabelen in de url meegeven, een beetje zoals php en $_GET:

1
2
3
//popback.html
var returnvar='cijfer';
...window.open('popback1.html?returnvar='+returnvar...

en deze dan uitlezen dmv substrings vanaf window.location.href

óf je leest de variabele rechtstreekt uit van de opener:
1
2
//popback1.html
onclick=returnvariable(opener.returnform, opener.returnvar, this.form.elements['cijfer'].value)"

Waar returnform en returnvar de variablen in de opener zijn met de juiste waarden:;
1
2
3
//popback.html
var returnform='userinfo';
var returnvar='cijfer';
pi_46302126
Ik heb nu dit

1
2
3
4
5
6
7
8
9
10
11
12
<script language="javascript">
function colPalet(value)
{
    day = new Date();
    id  = day.getTime();

    var retvalue = value;

    window['page'+id] = window.open('./layout/layout_colors.html?varname=' + value, id , 'width=300,height=200,toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=0');

}
</script>


en dan de popup

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script language="javascript">
function returnVariable(fieldName, content)
{
  opener.document.forms['colortable'].elements[fieldName].value = content;
}

function wclose()
{
    window.close();
}

function SendColor(value)
{
    alert(opener.retvalue);
    returnVariable(opener.varname, value)
}
</script>

<MAP name=map_webpal>

<!--- Row 1 --->

<AREA shape=RECT coords=2,2,18,18 href="javascript:SendColor('#330000')">
... etc


maar krijg een undefined te zien bij de alert in FF en IE :X why?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 14 februari 2007 @ 18:33:30 #40
85514 ralfie
!Yvan eht nioj
pi_46302472
Je definieert retvalue in een functie... Zelfs een simpele taal als Javascript kent scoping
pi_46303864
omg, je hebt gelijk... heb het nu anders aangepakt en gewoon een variabel gezet in de geopende window

bv (even uit het hoofd)

opener.valuename = 'value';

The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_46492580
Ik heb een textbox met als value een datum in het volgende formaat:
1DD-MM-YYYY

Nu wil ik de dag die er op volgt weten, en weer terugschrijven. Mijn code:
1
2
3
4
5
6
7
var currentdate = document.getElementById('chosendate').value;
var newdate = new Date(currentdate.substring(6,10), currentdate.substring(3,5) - 1, currentdate.substring(0,2));
newdate.setTime(newdate.getTime() - 86400000);
newday = newdate.getDate();
newmonth = newdate.getMonth() +1;
newyear = newdate.getFullYear();
changevalue(newday + "-" + newmonth + "-" + newyear,'chosendate');


Het werkt prima, het enige nadeel van getDate en getMonth is dat ze er geen nul voor plakken wanneer de integer uit 1 digit bestaat (januari = 1, moet 01 zijn). Moet ik hier met een lapje code handmatig een 0 aan plakken, of is er een variant op getDate en getMonth?

Edit

Dat kon nog korter dan ik dacht
1
2
if (newday<=9) newday = "0" + newday;
if (newmonth<=9) newmonth = "0" + newmonth;


En voor de nieuwsgierige personen de volledige code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function dateButtons(dir){
   var currentdate = document.getElementById('chosendate').value;
   var newdate = new Date(currentdate.substring(6,10), currentdate.substring(3,5) - 1, currentdate.substring(0,2));

   if (dir == 'left')
      newdate.setTime(newdate.getTime() - 86400000);
   
   else if (dir == 'right')
      newdate.setTime(newdate.getTime() + 86400000);
   

   newday = newdate.getDate();
   if (newday<=9) newday = "0" + newday;
   newmonth = newdate.getMonth() +1;
   if (newmonth<=9) newmonth = "0" + newmonth;
   newyear = newdate.getFullYear();

   changevalue(newday + "-" + newmonth + "-" + newyear,'chosendate');
}


[ Bericht 35% gewijzigd door Geqxon op 20-02-2007 16:14:23 ]
pi_46508061
Javascript heeft standaard geen formatting functies, eigenlijk best onhandig. Ik heb deze functies een keer gemaakt. Ik ze nooit echt gebruikt, en ook niet grondig getest.

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
/*
   Converts the date to string using provided formatting.
   %D = full date (%d/%m/%Y)
   %T = full time (%H:%i:%s)
   %Y = year (4 digits)
   %y = year (2 digits)
   %m = month (01 - 12)
   %d = day (01 - 31)
   %H = hours (01 - 24)
   %h = hours (01 - 12)
   %i = minutes (01 - 59)
   %s = seconds (01 - 59)
   %A = AM/PM
   %% = %
*/
Date.prototype.format = function(format) {
   format = format.replace(/%D/g, "%d/%m/%Y");
   format = format.replace(/%T/g, "%H:%M:%S");

   format = format.replace(/%Y/g, this.getFullYear());
   format = format.replace(/%y/g, (this.getFullYear() % 100).toString().padLeft(2, '0'));
   format = format.replace(/%m/g, (this.getMonth () + 1).toString().padLeft(2, '0'));
   format = format.replace(/%d/g, this.getDate().toString().padLeft(2, '0'));

   format = format.replace(/%H/g, this.getHours().toString().padLeft(2, '0'));
   format = format.replace(/%h/g, ((this.getHours() + 11) % 12 + 1));
   format = format.replace(/%i/g, this.getMinutes().toString().padLeft(2, '0'));
   format = format.replace(/%s/g, this.getSeconds().toString().padLeft(2, '0'));
   format = format.replace(/%A/g, (this.getHours() < 12 ? "AM" : "PM"));
   format = format.replace("%%", "%");

   return format;
}

/*
   Pads a string on the left to a certain length with another string.
*/
String.prototype.padLeft = function(length, padding) {
   if (padding == '' || padding == null) padding = ' ';
   var result = this;
   var n = (length - this.length);
   if (n > 0) {
      while (padding.length < n) {
         padding += padding;
      }
      result = padding + result;
      result = result.substr(length - result.length);
   }
   return result;
}


1
2
3
var d = new Date();
var s = d.format('%D %T');
alert(s);


Date.format() kan ook nog wel wat geoptimaliseerd worden
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_46510286
Mooie functie, die gaat even gebookmarked worden

Voor simpele dingen om bijvoorbeeld binnen een functie de huidige datum te verkrijgen (in bovenstaand formaat), gebruik ik PHP
  FOK!-Schrikkelbaas dinsdag 27 februari 2007 @ 16:04:18 #45
1972 Swetsenegger
Egocentrische Narcist
pi_46735494
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<html>
   <head>
      <title>test</title>
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
      <script type="text/javascript">
      document.getElementById('display').innerHTML= 'test';
      </script>
   </head>
   <body>
      <div id="display" name="display">
         leeg
      </div>
   </body>
</html>
quote:
document.getElementById('display') has no properties
Ik begrijp niet wat ik fout doe?
pi_46735636
Zo uit mijn hoofd zou ik zeggen dat het niet werkt omdat het javascript uitgevoerd wordt nog voordat de div "display" op het scherm getekend is / geinitialiseerd is. Misschien er een functie van maken, en die in de onload gooien?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<html>
   <head>
      <title>test</title>
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
      <script type="text/javascript">
         function test(){
               document.getElementById('display').innerHTML= 'test';
         }
      </script>
   </head>
   <body onload="test()">
      <div id="display" name="display">
         leeg
      </div>
   </body>
</html>
  FOK!-Schrikkelbaas dinsdag 27 februari 2007 @ 16:09:51 #47
1972 Swetsenegger
Egocentrische Narcist
pi_46735708
quote:
Op dinsdag 27 februari 2007 16:08 schreef Geqxon het volgende:
Zo uit mijn hoofd zou ik zeggen dat het niet werkt omdat het javascript uitgevoerd wordt nog voordat de div "display" op het scherm getekend is / geinitialiseerd is. Misschien er een functie van maken, en die in de onload gooien?
Dit is de versimpelde versie, hij wordt aangeroepen door een functie die na een submit wordt aangeroepen.
pi_46735788
Weet je zeker dat het niet ergens anders in zit? De code zoals ik die aan mijn post gehangen heb werkt onder Safari 2.0 namelijk prima, foutloos.
pi_46736912
edit, lezen.

Ik heb trouwen geen probs met je script, werkt direct, misschien toch ff de volledige code?

[ Bericht 83% gewijzigd door Darkomen op 27-02-2007 16:46:38 ]
  FOK!-Schrikkelbaas dinsdag 27 februari 2007 @ 16:58:37 #50
1972 Swetsenegger
Egocentrische Narcist
pi_46737722
Opgelost, klein foutje met returns
pi_46740711
Gaaf m'n op gebruikt (tevens tvp )
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')