JS-Funktion funktioniert nur im IE - warum

Macaulay

Grünschnabel
Hallo zusammen,

eine doch einfache Volumenberechnung mittels JavaScript funktioniert einwandfrei im IE 5.2 mac, aber bspw. nicht in Netscape 7.02 oder Opera. Ich finde einfach den Fehler nicht bzw. die Anweisung, so dass die Funktion „volumen“ in allen (gängigen) Browsern läuft.
Ich habe mal das Script vollständig beigefügt und freue mich sehr, wenn mir jemand einen Hinweis geben kann, wo der Fehler zu suchen sei. (Bin hier noch eher „blutiger Anfänger“...) Tausend Dank schon mal im vorab!!



Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<script language="JavaScript" type="text/JavaScript">
<!--

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

var laenge 
var breite
var hoehe
var anzahl
var volume
function volumen ()
{
form.volumen.value = (form.anzahl.value * form.laenge.value * form.breite.value * form.hoehe.value)
}
//-->
</script>
<style type="text/css">
<!--
.Stil1 {font-weight: bold}
-->
</style>
<form name="form">
<table width="200" border="1">
  <tr>
    <td>Anzahl</td>
    <td>Laenge</td>
    <td>Breite</td>
    <td>Hoehe</td>
    <td>Volumen</td>
  </tr>
  <tr>
    <td><input name="anzahl" type="text" id="anzahl" size="5	"></td>
    <td><input name="laenge" type="text" id="laenge" size="10"></td>
    <td><input name="breite" type="text" id="breite" size="10"></td>
    <td><input name="hoehe" type="text" id="hoehe" size="10"></td>
    <td><input name="volumen" type="text" id="volumen" size="12" readonly=""></td>
  </tr>
  <tr>
    <td colspan="5"><div align="center">
      <input name="Volumenberechnung" type="button" class="Stil1" id="Volumenberechnung" onclick="volumen()" value="Berechne das Volumen">
    </div></td>
    </tr>
</table>
</form>
</body>
</html>
 
Wenn du das Formular ansprechen willst, geht das per document.form

Weiterhin hast du eine Funktion und ein Formularfeld mit identischem Namen/ID(volumen)...ändere das bei einem der Beiden.
 
Vielen Dank Sven!! Das Ding rennt auch in Netscape wie eine Eins!

Für alle die es interessiert - so läufts:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<script language="JavaScript" type="text/JavaScript">
<!--

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

var laenge 
var breite
var hoehe
var anzahl
var cbm
function volumen ()
{
document.form.cbm.value = (document.form.anzahl.value * document.form.laenge.value * document.form.breite.value * document.form.hoehe.value)
}
//-->
</script>
<style type="text/css">
<!--
.Stil1 {font-weight: bold}
-->
</style>
<form name="form">
<table width="200" border="1">
  <tr>
    <td>Anzahl</td>
    <td>Laenge</td>
    <td>Breite</td>
    <td>Hoehe</td>
    <td>Volumen</td>
  </tr>
  <tr>
    <td><input name="anzahl" type="text" id="anzahl" size="5	"></td>
    <td><input name="laenge" type="text" id="laenge" size="10"></td>
    <td><input name="breite" type="text" id="breite" size="10"></td>
    <td><input name="hoehe" type="text" id="hoehe" size="10"></td>
    <td><input name="cbm" type="text" id="cbm" size="12" readonly=""></td>
  </tr>
  <tr>
    <td colspan="5"><div align="center">
      <input name="Volumenberechnung" type="button" class="Stil1" id="Volumenberechnung" onclick="volumen()" value="Berechne das Volumen">
    </div></td>
    </tr>
</table>
</form>
</body>
</html>

Ein heute glücklicher Anfänger-Programmierer....

Nickel
 

Neue Beiträge

Zurück