Jag skulle skriva
window.onload = initiate;
Med din kod tilldelar du returvärdet av initiate() istället för en referens till den.
19 svar · 945 visningar · startad av aasah
Längst ner på min sida står följande
document.onLoad = initiate();
</script>
</div></body></html>
Funktionen ser ut så här:
function initiate() {
var knappEl = document.getElementById('wordBoxLetterButton');
var letterEl = document.getElementById('wordBoxLetter');
knappEl.disabled = true;
letterEl.disabled = true;
letterEl.value = '';
for (var i = 0; i < 6; i++) {
var ordEl = document.getElementById('wordBoxWord'+i);
knappEl = document.getElementById('wordBoxButton'+i);
knappEl.disabled = true;
ordEl.disabled = true;
ordEl.value = '';
}
}
Dvs när sidan laddar sätts alla fält i min (nedre) tabell till disabled och textfield:en töms. Klickar man sedan på någon vit cell i korsordet kan man skriva i fälten. Laddar man om sidan utan att ha skickat iväg det i formen (med Add Letter/Word) så ska fälten tömmas och allt "disablas" igen. Funkar klockrent i FF. Men i IE däremot ligger "spökbokstäver" kvar!! Vad beror det på? Finns det någon enkel lösning? Webbsidan
Jag skulle skriva
window.onload = initiate;
Med din kod tilldelar du returvärdet av initiate() istället för en referens till den.
Peter S skrev:
Jag skulle skriva
window.onload = initiate;Med din kod tilldelar du returvärdet av initiate() istället för en referens till den.
Tyvärr funkar inte detta. Blir ingen skillnad i IE v 6 i alla fall.
Märklich. Det bör fungera. Är du säker på att du ändrat kodraden document.onLoad = initiate(); till den föreslagna? På sidan du länkade till är ändringen ej gjord.
Peter S skrev:
Märklich. Det bör fungera. Är du säker på att du ändrat kodraden document.onLoad = initiate(); till den föreslagna? På sidan du länkade till är ändringen ej gjord.
Det berodde på att det inte blev någon skillnad. Och alltså var det ändrat tillbaka igen. NU är det som du föreslår igen (fortfarande ingen skillnad). I IE 6 i alla fall gäller följande:
Nu när jag tittade stod det document.onLoad - inte window.onload.
Nu sätter jag value:t till '' innan jag disablar - samma resultat som ovan:
//Ser till att sidan laddas med idel tomma och "disablade" Word/LetterBoxfält.
function initiate() {
var knappEl = document.getElementById('wordBoxLetterButton');
var letterEl = document.getElementById('wordBoxLetter');
knappEl.disabled = true;
letterEl.value = '';
letterEl.disabled = true;
for (var i = 0; i < 6; i++) {
var ordEl = document.getElementById('wordBoxWord'+i);
knappEl = document.getElementById('wordBoxButton'+i);
knappEl.disabled = true;
ordEl.value = '';
ordEl.disabled = true;
}
}
<!--- andra andan av koden -->
document.onLoad = initiate;
Peter S skrev:
Nu när jag tittade stod det document.onLoad - inte window.onload.
Oavsett om jag skriver window eller document ser det likadant ut. Nu står det window.
Men när sidan laddar om, laddar väl både window och document om, väl?
Blir det någon skillnad om du hoppar över disabled-delen helt?
I så fall skulle du ju kunna styla fältet att se disableat ut, och köra blur() vid onfocus, så beter det sig som ett sådant också (med skillnad att värdet faktiskt skickas med formuläret vid submit.).
aasah skrev:
Oavsett om jag skriver window eller document ser det likadant ut. Nu står det window.
Nej, det gör det inte. ;)
Peter S skrev:
Nej, det gör det inte. ;)
Va? Jo, det gör det! Hur 17 kommer du till sidan? Om du använder länken ovan borde du se det. För att vara säker på att jag inte kikade på något ur cachen kollade jag även via Firefox (som inte varit öppet alls sedan jag ändrade till window nu.) Står window där med.
@nders - Jag har hellre fältet disablat med spökbokstäver, som man får börja med att ta bort när disable försvinner, än tvärtom. Innan man tryckt i korsordet finns inga referenser för fälten nämligen. Så om man skickar iväg något då kan det bli riktigt kajko. Så om jag måste välja, så...
Tips: skiftläge.
Det funkar! HÄRLIGT! Tack båda två för ert tålamod!!! :birp
Men... jag fattar inte... Enligt min nya lärobok i JavaScript utgiven hösten 2006 spelar skiftläget ingen roll så länge man håller sig till HTML och inte XML... Uppenbarligen stämmer inte det.
Men varför funkar onClick då??? :q
onClick är ett attribut till vissa HTML-taggar, och har egentligen ingenting med javascript att göra, förutom att attributvärdet normalt sett evalueras som javascript.
@nders skrev:
onClick är ett attribut till vissa HTML-taggar, och har egentligen ingenting med javascript att göra, förutom att attributvärdet normalt sett evalueras som javascript.
Åh! Då har jag blandat ärtor och morötter. Tacka 17 för att det blev grönsakssoppa!
Vad är skillnaden på window.onload och document.onload? Laddar inte document om när fönstret gör det?
Det finns helt enkelt ingen onload-egenskap hos document.
Peter S skrev:
Det finns helt enkelt ingen onload-egenskap hos document.
Åh! Ja då förstår jag... :x
Tack igen för ert tålamod! :birp
:bire