document.getElementById("div").elements.length? Of bedoel je dat niet?quote:Op vrijdag 29 juni 2007 21:11 schreef SuperRembo het volgende:
Als je een aantal keer de length property van een element wil opvragen dan kan je wel het element zelf in een variable zetten. Dat scheelt een heleboel opzoekwerk in de DOM.
Maar volgens mij is er geen enkel html element die standard een length property heeft
1 2 3 4 5 6 7 8 | <!-- function add() { document.getElementById('cijferinvoer').innerHTML=document.getElementById('cijferinvoer').innerHTML + '<tr><th>CC</th><td><input type="text" name="cijfer[]" AUTOCOMPLETE="of"></td><td><input type="text" name="weging[]" AUTOCOMPLETE="of"></td>'; } //--> </script> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function showExtraContent() { var extraContent = document.getElementById('extraContent'); extraContent.style.display = 'block'; } </script> <p> standaard content bla bla bla</p> <div id="extraContent" style="display: none;"> bla bla bla extra content bla bla </div> <a href="#" onclick="showExtraContent(); return false;">klik voor extra content</a> |
maar dan kunnen er niet meerdere rijen toegevoegd worden.quote:Op zaterdag 14 juli 2007 17:19 schreef Farenji het volgende:
De makkelijkste en netste oplossing is niet het toevoegen via JS en innerHTML, maar dmv een div met style "display: none;" die je mbv javascript op "display: block;" zet. Zo zal de state van je form gewoon behouden blijven en hoef je ook geen html in je JS code op te nemen (want dat is).
Voorbeeldje:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | { var tbody = document.getElementById ('cijferinvoer').getElementsByTagName("tbody")[0]; var row = document.createElement("tr") var th1 = document.createElement("th") th1.appendChild(document.createTextNode("CC")) var td1 = document.createElement("td") var a = '<input type="text" name="var1[]" AUTOCOMPLETE="off">' td1.appendChild(document.createTextNode(a)) var td2 = document.createElement("td") td2.appendChild (document.createTextNode('<input type="text" name="var2[]" AUTOCOMPLETE="off">')) row.appendChild(th1); row.appendChild(td1); row.appendChild(td2); tbody.appendChild(row); |
quote:CC <input type="text" name="var1[]" AUTOCOMPLETE="off"> <input type="text" name="var1" AUTOCOMPLETE="off">
1 2 | td1.appendChild(document.createTextNode(a)) |
http://www.w3.org/Submission/web-forms2/#the-autocompletequote:Op zaterdag 14 juli 2007 17:32 schreef Farenji het volgende:
WTF is dat AUTOCOMPLETE=off? Dat is sowieso geen geldige opmaak. Het zal een of andere custom toevoeging zijn voor een of ander script maar het zal hoogstwaarschijnlijk de reden zijn waarom je zo'n node niet mbv DOM kan aanmaken.
createElement, ga ik proberen...quote:Op zaterdag 14 juli 2007 17:37 schreef SuperRembo het volgende:
Autocomplete is gewoon een attribute om te voorkomen dat je browser de waarde van het veld automatisch aanvult.
Het probleem is dat je natuurlijk niet met createTextNode en een html string een invoerveld kan maken. Dat moet je ook via createElement doen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | { for (i = 0; i < document.images.length; i++) { while ( !document.images[i].complete ) { break; } if ( document.images[i].width > 640 ) { document.images[i].width = 640; } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | { img=document.getElementById("id").getElementsByTagName("img"); for (i = 0; i < img.length; i++) { while ( !img[i].complete ) { break; } if ( img[i].width > 640 ) { img[i].width = 640; } } } |
quote:Op donderdag 19 juli 2007 15:40 schreef Spockjuh_ het volgende:
elke hulp is welkom..om het wat duidelijker te maken, het geheel moet komen in een geeklog cms systeem, de site vind je onder mijn profiel, kan bijna niet missen!
quote:Not Found
The requested URL /suspended.page/ was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
1 2 3 4 | plaatje.src = 'blaat.gif'; var breedte = plaatje.width; var hoogte = plaatje.height; |
1 2 3 4 5 | plaatje.setAttribute('src', 'plaatje.gif'); eenDiv.appendChild(plaatje); var breedte = plaatje.width; var hoogte = plaatje.height; |
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 | var metError = false; var plaatje = new Image(); plaatje.src = 'plaatje.gif'; plaatje.onLoad = plaatjeGeladen; function plaatjeGeladen() { var timeOut; var plaatjeCompleetGeladen = false; while (!plaatjeCompleetGeladen) { timeOut = new Date(); if (plaatje.complete) { plaatjeCompleetGeladen = true; metError = false; } // timeout op laten treden na 10s if (timeOut.getTime() - startTijd.getTime() >= 10000) { plaatjeCompleetGeladen = true; metError = true; } } } var breedte = plaatje.width; var hoogte = plaatje.height; |
Hetzelfde als height en width?quote:Op vrijdag 20 juli 2007 08:56 schreef Geqxon het volgende:
Wat doen clientHeight en offsetHeight bij je?
Tja, nu weet ik dat de browsers de volgende dingen ondersteunen:quote:Op vrijdag 20 juli 2007 09:21 schreef SuperRembo het volgende:
De onload event op plaatjes is in IE en FF geloof ik nog all buggy. Kijk eens naar de user_images() functie die hier op FOK (en op GoT) wordt gebruikt om te grootte plaatjes automatisch te verkleinen.
1 2 3 4 5 | if (image.width > 0) { blaat(); } ... |
1 2 3 4 | achtergrond.offsetWidth: 0 achtergrond.naturalWidth: undefined achtergrond.width: 550 |
1 2 3 4 | achtergrond.offsetWidth: 0 achtergrond.naturalWidth: undefined achtergrond.width: 550 |
1 2 3 4 | achtergrond.offsetWidth: 0 achtergrond.naturalWidth: 0 achtergrond.width: 0 |
1 2 3 4 | achtergrond.offsetWidth: 0 achtergrond.naturalWidth: 550 achtergrond.width: 550 |
Dat komt waarschijnlijk omdat je de property opvraagt als het plaatje noet niet (volledig) is geladen. Hoe je dat afvangt kan je dus even van die user_images() functie afkijken.quote:Op vrijdag 20 juli 2007 10:36 schreef CiQNiZ het volgende:
werkt prima in IE en Opera. Niet in Firefox.
Ik vraag de properties op TOTdat deze geset zijn. Dus dat houdt in dat ik wacht tot het plaatje geladen is (via een while-lus). Na 4 seconden zeg ik stop (duurt te lang, want het is lokaal), en dan heeft Firefox nog niks bijzonders gedaan. IE en Opera die komen niet eens zover, die zijn dan al lang klaar!quote:Op vrijdag 20 juli 2007 11:07 schreef SuperRembo het volgende:
[..]
Dat komt waarschijnlijk omdat je de property opvraagt als het plaatje noet niet (volledig) is geladen. Hoe je dat afvangt kan je dus even van die user_images() functie afkijken.
Dat komt omdat er tijdens de while loop geen events worden afgehandeld. Waarschijnlijk staat op deze maniet de cpuload nog op 100% ook. Als je wil kijken of het plaatje na x seconden nog niet geladen is dan kan je beter setTimeout() gebruiken.quote:Op vrijdag 20 juli 2007 11:12 schreef CiQNiZ het volgende:
[..]
Ik vraag de properties op TOTdat deze geset zijn. Dus dat houdt in dat ik wacht tot het plaatje geladen is (via een while-lus). Na 4 seconden zeg ik stop (duurt te lang, want het is lokaal), en dan heeft Firefox nog niks bijzonders gedaan. IE en Opera die komen niet eens zover, die zijn dan al lang klaar!
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |