Avatar billede doodset Nybegynder
11. juli 2005 - 01:26 Der er 3 kommentarer og
1 løsning

IE alt ok, men i Firefox NaN, hvorfor?

Hej Experte

Har prøvet på at lave en valuta regner

http://www.knassi.net/testval

I Internet Explorer fungerer den fint, men i FireFox bliver det hele til NaN

Er der nogen der ved hvad jeg laver forkert?

Mvh

Jon
Avatar billede roenving Novice
11. juli 2005 - 04:04 #1
Fordi I bruger IE-only muligheder ...

-- og til en anden gang kunne I måske være så venlige at indsætte en enkelt vbcrlf hist og pist, så der i virkeligheden var en chance for at aflæse jeres kode ?-)

-- men I har helt galt fat mindst tre steder i algoritmen ...

-- for det første er det tåbeligt, at I hardcoder 3, 75 eller 100 feltnavne, når I jo kender faste karakteristika for feltnavnene (her, at de alle hedder noget med _ialt !-)

-- for det andet vil ingen browser udover IE kende et felt udfra dets navn, hvis i ikke også angiver formen og bruger elements-collectionen til at finde det ...

-- for det tredje kan I ikke regne med at andre browsere end IE kan finde på at svare med en værdi på en attribut, som overhovedet ikke findes, medmindre man bruger den xml-agtige .getAttribute !o]

-- og løsningen er faktisk rasende simpel, hvis man realiserer ovenstående, så jeg kigger lige på det !-)
Avatar billede roenving Novice
11. juli 2005 - 04:37 #2
I benytter jer så også af en fuldstændig umulig doctype, så følgende er mine anbefalinger:

Start siden med:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">


-- bemærk, at uanset jeres målgruppe er et f.eks. islandsk publikum, skal den alligevel virke fra en eller anden tilfældig netcafe i Bagdad, Bangalore eller Beijing ...

Hele script-blokken kan reduceres til:

<script type="text/javascript">
function selectAllTxt(field) {
    field = document.getElementById(field);
    field.select();
}
function leitahvari(){
}
function roknakurs(felt){
  var utgtal = +felt.value * +felt.getAttribute('cur');
  var e = felt.form.elements;
  for(i=0;e.length>i;i++){
    if(e[i].type == 'text' && e[i].name.indexOf('_ialt') > -1){
      e[i].value = (Math.round(utgtal / +e[i].getAttribute('cur')*100))/100;
    }
  }
}
</script>

-- tilføj en rule i stylesheetet:

.talfelt{font-size:10px;font-family:Verdana;text-align:right;}


-- og skriv felterne således:

<tr><td class="gron">Amerikanski Dollarin</td><td class="gron">USD</td><td align="right" class="gron">626,2300 <input type="text" size="12" name="USD_ialt" id="USD" cur="626.23" onkeyup="roknakurs(this);" class="talfelt"></td></tr>


-- og så får I zq ik' mer' for den 25-øre '-)
Avatar billede doodset Nybegynder
11. juli 2005 - 19:29 #3
Takker :)
Avatar billede roenving Novice
12. juli 2005 - 07:29 #4
-- og så takker jeg da for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester