Benrd: Formularwerte on the fly prüfen

Beitrag lesen

Vielen Dank,

Ihr seid echt klasse!!!

(Vor allem trägt das wieder mal zum besseren Verständnis v. javascript bei)

Gruß,

Benrd

<script type="text/javascript">
<!--
function check(form){
  var menge = document.getElementById('menge'+form).value;
//Ich nehme an, du willst nicht nur auf "7" prüfen sondern auf numerischen Wert
//Falls es doch die 7 sein soll - überdenke zwingend deine Fehlermeldung ;)
  if(isNaN(menge)){
   alert("nur zahlen");
  }
  else{
//Aufruf der Berechnungsfunktion - nur wenn es sich um eine Zahl handelt
    calcSum(form);
  }
}

function calcSum(form) {
  //Die Berechnungsform kennt die Formularnummer und spricht die jetzt eindeutigen Elemente damit an
  var preis = document.getElementById('preis'+form).value;
  var menge = document.getElementById('menge'+form).value;
  var erg =  preis * menge;
  document.forms[form].summe.value = erg;
  document.getElementById('erg'+form).innerHTML = erg;

}

//-->
</script>
</head>
<form name="form1">
<input type="hidden" id="preis0" name="preis0" value="33.23">
<!-- nur die Funktion check aufrufen... sie übernimmt den Rest-->
<input onKeyUp="check(0);" type="text" id="menge0" name="menge0" value="" size="3"><span id="erg0" name="erg"></span><br>
<input type="text" name="summe" value="0" readOnly><br>
</form>

<hr>

<form name="form2">
<input type="hidden" id="preis1" name="preis1" value="2">
<!-- Funktion check aufrufen - als Parameter übergibst du die Nummer des Formulars-->
<input onKeyUp="check(1);" type="text" id="menge1" name="menge1" value="" size="3"><span id="erg1" name="erg"></span><br>
<input type="text" name="summe" value="0" readOnly><br>
</form>