Archivlink: javarea.de Forum > JavaScript > Einheitenumrecher funktionerit in ff nicht aber in ie
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Einheitenumrecher funktionerit in ff nicht aber in ie

Pages: [1]

geschrieben von rogger-progs am 09.09.2007 - 18:52
Tag erstmal...

ich habe mir überlegt ich könnte mir einen Einheitenumrechner(cm in inch; meter in meilen; usw) mir Html und Javascript bauen... Soweit so gut das Eingabe formula war schnell zusammen gestellt.

ich habe mir überlegt wenn ich zB 3kg in lbs umrechnen will das ich zunächst 3kg in gramm umrechne und von dort aus in lbs. Das war auch noch kein Problem.

hat auch soweit funktioniert...

Nur dann bin ich auf die idee gekommen ich könnte das ja in ein windows vista sidebar gadget einbauen. Gedacht, getan. Nur passierte garnichts wenn ich auf den 'berechen-Button' gdrückt hatte. ich startet meine Firefox hab ausprobiert und es hat wieder funktioniert. Anschließend hab ich das ganze im Internet Explorer ausprobiert: Den tollen 'berechen-Button' gedrückt und nichts is passiert. Stattdessen ist eine Fehlermeldung erschienen.

Kann mir einer helfen und das script so um änder dass der Umrechner auch in IE funktioniert?????



hier die html-datei

HTML-Quelltext
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: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69: 
70: 
71: 
72: 
73: 
74: 
75: 
76: 
77: 
78: 
79: 
80: 
81: 
82: 
83: 
84: 
85: 
86: 
87: 
88: 
89: 
90: 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  

  <link rel="stylesheet" href="css/fly.css" />
  <script language="javascript" type="text/javascript" src="js/fly.js"></script></head>



    <body bgcolor="#CCFFFF">



  
<form name="a">
    <select name="b" size="1" onchange="klasse()">
    <option>bitte w&auml;hlen sie aus:</option>
    <option>Masse </option>
    <option>L&auml;ngen</option>
    </select>
</form>
      <div id="gewicht">
      <form name="wert">
  <p> <input name="eingabe" style="text-align: right;" size="6" onblur="test(this.value)" type="text" />
        <select name="auswahl" size="1">
        <option value="1">g</option>
        <option value="1000">kg</option>
        <option value="0.001">mg</option>
        <option value="1000000">Tonne(n)</option>
        <option value="5">Karat(Carat)</option>
        <option value="0.0352734">Unze(Ounce)</option>
        <option value="0.0220459">Pfund(Pound, lbs)</option>
        </select>

=<br />

        <input style="text-align: right;" name="ergebnis" size="10" type="text" />
        <select name="auswahl2" size="1">
        <option value="1">g</option>
        <option value="1000">kg</option>
        <option value="0.001">mg</option>
        <option value="1000000">Tonne(n)</option>
        <option value="5">Karat(Carat)</option>
        <option value="0.0352734">Unze(Ounce)</option>
        <option value="0.0220459">Pfund(Pound, lbs)</option>
        </select>

        <br />

        <input value="berechne" onclick="calc()" type="button" /> </p>

      </form>

      </div>

      <div id="langen">
      <form name="wert">
        <p> <input name="eingabe" style="text-align: right;" size="6" onblur="test(this.value)" type="text" />
        <select name="auswahl" size="1">
        <option value="1">m</option>
        <option value="1000">km</option>
        <option value="0.001">mm</option>
        </select>

= <input style="text-align: right;" name="ergebnis" size="10" type="text" />
        <select name="auswahl2" size="1">
        <option value="1">m</option>
        <option value="1000">km</option>
        <option value="0.001">mm</option>
        </select>

        <br />

        <input value="berechne" onclick="calc()" type="button" /> </p>

      </form>

      </div>


  

  

</form>


</body>
</html>



und hier der js-code:

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
function calc(){
var a;
 a = (document.forms.wert.eingabe.value * document.forms.wert.auswahl.value) / document.forms.wert.auswahl2.value;
document.forms.wert.ergebnis.value = a;
  }


function test(feld){
if (isNaN(feld)){
alert(feld +' keine gültige Zahl')
}
}

function klasse(){
if(document.forms.a.b.selectedIndex == 1){
document.getElementById("gewicht").style.visibility = "visible";
document.getElementById("langen").style.visibility = "hidden";

}else{
document.getElementById("langen").style.visibility = "visible";
document.getElementById("gewicht").style.visibility = "hidden";}}



danke schon mal im Voraus für eure hoffentlich qualifizierten beiträge


ps: mein erster eintrag in diesem forum

geschrieben von Micha am 09.09.2007 - 21:00
Hallo,

aha, Du bekommst also eine Fehlermeldung. Warum denkst Du, das diese uninteressant sein könnte?

In Deinem Script wird mit Zahlen gerechnet. Die Werte sind aber alle Strings. JS ist zwar nicht streng bei den Typen aber mitunter macht es nicht das, was man erhofft. Aus diesem Grund gibts ja die Methoden parseInt und parseFloat.

Wo finden wir Dein onlinebeispiel?

Micha

geschrieben von rogger-progs am 10.09.2007 - 08:33
sorry die fehlermeldung wollte ich auch noch schreiben habs aber dann in der Aufregung meines ersten beitrages vergessen...

HTML-Quelltext
1: 
2: 
3: 
4: 
zeile:    2
zeichen:  9
Fehler:   'document.forms.eingabe.value' ist null oder kein Objekt'
code:     0



damit ergibt das was du sagt irgend wie schon sinn...
und hier das online-Beispiel:

http://www.repage8.de/member/rogger....chner.html

schon mal vielen Dank für den Tipp!

geschrieben von rogger-progs am 10.09.2007 - 12:27
so hab es jetzt mit praseInt gemacht und es funktiniert!!!


mein html-code sieht jetzt so aus:
HTML-Quelltext
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: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69: 
70: 
71: 
72: 
73: 
74: 
75: 
76: 
<html>
<head>



<link rel="stylesheet" href="css/fly.css">

<script src="js/calc2.js" type="text/javascript"></script>

</head>


<body>
<form name="a">
<select name="b" size="1" onchange="klasse()">
  <option>bitte wählen sie aus:</option>
  <option>Masse</otpion>
  <option>Längen</option>
</select> 
</form>	

<div>
<div id="gewicht">
<form name="wert"><p>
  <input type="text" name="eingabe" style="text-align:right;" size="6" onblur="test(this.value)"> 
  <select name="auswahl" size="1">

      <option  value="1">g</option>
      <option  value="1000">kg</option>
      <option  value="0.001">mg</option>
      <option  value="1000000">Tonne(n)</option>
      <option  value="5">Karat(Carat)</option> 
      <option  value="0.0352734">Unze(Ounce)</option>
      <option  value="0.0220459">Pfund(Pound, lbs)</option> 
  
  </select> =
  <input type="text" style="text-align:right;" name="ergebnis" size="10">
  <select name="auswahl2" size="1">
    
      <option value="1">g</option>
      <option value="1000">kg</option>
      <option value="0.001">mg</option>
      <option value="1000000">Tonne(n)</option>
      <option value="5">Karat(Carat)</option> 
      <option value="0.0352734">Unze(Ounce)</option>
      <option value="0.0220459">Pfund(Pound, lbs)</option> 

  </select>
  <br><input type="button" value="berechne" onclick="calc()">
 </p></form>
</div>
<div id="langen">
<form name="wert2"><p>
  <input type="text" name="eingabe" style="text-align:right;" size="6" onblur="test(this.value)"> 
  <select name="auswahl" size="1">

      <option value="1">m</option>
      <option value="1000">km</option>
      <option value="0.001">mm</option>
 
  </select> =
  <input type="text" style="text-align:right;" name="ergebnis" size="10">
  <select name="auswahl2" size="1" onblur="test2()">
  
      <option value="1">m</option>
      <option value="1000">km</option>
      <option value="0.001">mm</option>
    
  </select>
  <br><input type="button" value="berechne" onclick="calc()">
 </p></form>
</div>
</div>

</body>
</HTML>



un mein JavaScript Code so(ist vllt ein bisschen umständlich aber es geht):


HTML-Quelltext
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: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
function calc(){
var a;
var eingabe;
var auswahl;
var auswahl2;
if(document.getElementById("gewicht").style.visibility == "visible"){

eingabe = document.forms.wert.eingabe.value;
eingabe = parseFloat(eingabe);
auswahl = document.forms.wert.auswahl.value;
auswahl = parseFloat(auswahl)
auswahl2 = document.forms.wert.auswahl2.value;
auswahl2 = parseFloat(auswahl2)

 a = ( eingabe * auswahl) / auswahl2;

document.forms.wert.ergebnis.value = a;
  }


else{
eingabe = document.forms.wert2.eingabe.value;
eingabe = parseFloat(eingabe);
auswahl = document.forms.wert2.auswahl.value;
auswahl = parseFloat(auswahl)
auswahl2 = document.forms.wert2.auswahl2.value;
auswahl2 = parseFloat(auswahl2)

 a = ( eingabe * auswahl) / auswahl2;

document.forms.wert2.ergebnis.value = a;
  }
}

function test(feld){
if (isNaN(feld)){
alert(feld +' keine gültige Zahl')
}
}

function klasse(){
if(document.forms.a.b.selectedIndex == 1){
document.getElementById("gewicht").style.visibility = "visible";
document.getElementById("langen").style.visibility = "hidden";

}else{
document.getElementById("langen").style.visibility = "visible";
document.getElementById("gewicht").style.visibility = "hidden";}}



also vielen dank nochmal für den Tipp


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.