webForumDet fria alternativet

onKeyDown

3 svar · 235 visningar · startad av Calippo

CalippoMedlem sedan aug. 2002535 inlägg
#1

Hej

Har ett problem med ett skript.

Jag har två textrutor (Ruta1 och Ruta2 kan vi kalla dom)

Jag har gjort en beräkning när man skriver något i dom.
När man skriver nåt i den ena så ska den kolla om det finns nåt i den andra oxå. Om bägge innehåller ett tal så ska Ruta1 divideras med Ruta2. Värdet visas i Ruta3.
Beräkningen sker med onKeyDown.

Så långt är det inga problem, men när man klickar på knappen bakåt (<---) på tangentbordet (kommer inte på vad den heter, men den ligger över "Enter" knappen) för att ta bort en siffra i Ruta1 eller Ruta2 så uppdateras inte resultatet.
Använder man "Del" knappen så funkar det.

Har provat lite olika varianter med "window.event.keyCode=='8'" men får det inte att fungera.

Hur gör jag?

nitro2k01Medlem sedan aug. 20037 630 inlägg
#2

Jag skulle inte använt onkeydown (Ska f.ö. stavas med små bokstäver!)
Jag skulle gjort så här:

<HTML>

<script>
function docalc(){
  tal1 = parseInt(document.getElementById("input1").value);
  tal2 = parseInt(document.getElementById("input2").value);
  if (isNaN(tal1) || isNaN(tal2)){
    document.getElementById("output").value="Fyll i två tal!"
    return;
  }

  //Om nämnaren är 0, visa felmess
  if ( tal2 == 0) {
    document.getElementById("output").value="Division med 0!"
    return;
  }
  document.getElementById("output").value = tal1/tal2;

}
</script>
<body onload="docalc();">

Nämnare: <input value="0" name="input1" onkeypress="docalc();" onchange="docalc();" onpropertychange="docalc();" /><br />
Täljare: <input value="1" name="input2" onkeypress="docalc();" onchange="docalc();" onpropertychange="docalc();" /><br /><br />
Kvot: <input name="output" />

</body>
</HTML>
CalippoMedlem sedan aug. 2002535 inlägg
#3

Det funka med "onpropertychange".
Har aldrig hört talas om den innan.

Dreamweaver skriver onBlur, onKeyDown m.m. och det funkar, så det spelar väl ingen roll om man har stora eller små bokstäver? Eller är det nån browser som kan få problem med det?

HansenMedlem sedan aug. 2000383 inlägg
#4

Calippo skrev:

[...]Dreamweaver skriver onBlur, onKeyDown m.m. och det funkar, så det spelar väl ingen roll om man har stora eller små bokstäver?[...]

Om du vill ha väl formad xml/xhtml så ska alla element och attribut-namn vara gemener.

125 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
122 ms — hämta tråd, inlägg och bilagor (db)