---
title: "Spökbokstäver i disablat textfält (IE)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/155627-spökbokstäver-i-disablat-textfält-ie"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "aasah"
published: "2007-01-06T16:25:19.000Z"
updated: "2007-01-10T21:02:55.000Z"
replies: 19
views: 947
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/155627-spökbokstäver-i-disablat-textfält-ie"
---

# Spökbokstäver i disablat textfält (IE)

## #1 — aasah, 2007-01-06T16:25Z

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](http://www.tydal.nu/aasah/Lab/IntCW/jsTstSourceNotGen.html)

Permalänk: https://www.webforum.nu/p/155627

## #2 — Peter S, 2007-01-06T17:59Z

Jag skulle skriva

```
window.onload = initiate;
```

Med din kod tilldelar du returvärdet av initiate() istället för en referens till den.

Permalänk: https://www.webforum.nu/p/1918396

## #3 — aasah, 2007-01-10T15:29Z

> **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.

Permalänk: https://www.webforum.nu/p/1919607

## #4 — Peter S, 2007-01-10T17:03Z

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.

Permalänk: https://www.webforum.nu/p/1919642

## #5 — aasah, 2007-01-10T19:19Z

> **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:
1) Sidan laddar - allt är snyggt.
2) Tryck i valfri vit ruta. Då öppnas den undre tabellen så man kan skriva i de övre raderna. (Dessutom krymper iframen till höger men det är en annan tråd.)
3) Skriv något i ett av textfälten i den nedre vänstra tabellen. Men skicka INTE iväg det. 
4) Ladda om sidan. Resultatet (för den vänstra sidan) kan beskådas i bifogad fil. (Och till höger expanderar iframen snyggt igen.)

Bilagor:

- [IEstrulSpok.jpg](https://www.webforum.nu/a/13447.jpg)

Permalänk: https://www.webforum.nu/p/1919689

## #6 — Peter S, 2007-01-10T19:24Z

Nu när jag tittade stod det *document.onLoad* \- inte *window.onload*.

Permalänk: https://www.webforum.nu/p/1919692

## #7 — aasah, 2007-01-10T19:30Z

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;
```

Permalänk: https://www.webforum.nu/p/1919698

## #8 — @nders, 2007-01-10T19:34Z

> **Peter S skrev:**
>
> Nu när jag tittade stod det *document.onLoad* \- inte *window.onload*.

\- - - - -

Permalänk: https://www.webforum.nu/p/1919701

## #9 — aasah, 2007-01-10T19:36Z

> **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?

Permalänk: https://www.webforum.nu/p/1919703

## #10 — @nders, 2007-01-10T19:42Z

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.).

Permalänk: https://www.webforum.nu/p/1919709

## #11 — Peter S, 2007-01-10T19:46Z

> **aasah skrev:**
>
> Oavsett om jag skriver window eller document ser det likadant ut. Nu står det window.

Nej, det gör det inte.  ;)

Permalänk: https://www.webforum.nu/p/1919711

## #12 — aasah, 2007-01-10T19:55Z

> **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å...

Permalänk: https://www.webforum.nu/p/1919717

## #13 — Peter S, 2007-01-10T19:56Z

Tips: skiftläge.

Permalänk: https://www.webforum.nu/p/1919718

## #14 — @nders, 2007-01-10T19:57Z

Javascript är väldigt case sensitive, så onLoad != onload.

edit: ^^ :)

Permalänk: https://www.webforum.nu/p/1919719

## #15 — aasah, 2007-01-10T20:03Z

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

Permalänk: https://www.webforum.nu/p/1919723

## #16 — @nders, 2007-01-10T20:08Z

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.

Permalänk: https://www.webforum.nu/p/1919725

## #17 — aasah, 2007-01-10T20:15Z

> **@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?

Permalänk: https://www.webforum.nu/p/1919728

## #18 — Peter S, 2007-01-10T20:47Z

Det finns helt enkelt ingen onload-egenskap hos *document*.

Permalänk: https://www.webforum.nu/p/1919745

## #19 — aasah, 2007-01-10T20:52Z

> **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

Permalänk: https://www.webforum.nu/p/1919748

## #20 — Peter S, 2007-01-10T21:02Z

:bire

Permalänk: https://www.webforum.nu/p/1919751

---

Tråden på webben: https://www.webforum.nu/amne/javascript/155627-spökbokstäver-i-disablat-textfält-ie
