HulioJules
Grünschnabel
Hallo zusammen,
ich möchte für einen Online-Fragebogen die Möglichkeit einer prozentualen Gewichtung verschiedener Items integrieren. Die Funktion soll also schauen, ob die einzelnen Items 1. überhaupt ausgefüllt wurden und 2. keine Eingabe über 100 gemacht wurde.
Soweit so gut, das hat noch funktioniert, ich habe ein Code geschrieben, der mir die Editboxen OnKeyUp prüft (auf 'isNaN' und '>100') und dann summiert.
Jetzt sollte aber auch die Summe noch gechecked werden, bevor der Fragebogen abgesendet wird.
Dazu würde ich gerne beim Klicken auf den "Absenden"-Button die Summe prüfen (ob sie >100 oder unter <0 ist), aber er macht es leider nicht.
Irgendwo hab ich da nen Denkfehler drin, bin (wie so viele hier) natürlich relativer Neuling auf dem Gebiet, aber möchte unbedingt am Ball bleiben, und hab mich bereits totprobiert und -gesucht.
Über Hilfe würde ich mich sehr freuen, vielen Dank schonmal vorab.
ich möchte für einen Online-Fragebogen die Möglichkeit einer prozentualen Gewichtung verschiedener Items integrieren. Die Funktion soll also schauen, ob die einzelnen Items 1. überhaupt ausgefüllt wurden und 2. keine Eingabe über 100 gemacht wurde.
Soweit so gut, das hat noch funktioniert, ich habe ein Code geschrieben, der mir die Editboxen OnKeyUp prüft (auf 'isNaN' und '>100') und dann summiert.
Jetzt sollte aber auch die Summe noch gechecked werden, bevor der Fragebogen abgesendet wird.
Dazu würde ich gerne beim Klicken auf den "Absenden"-Button die Summe prüfen (ob sie >100 oder unter <0 ist), aber er macht es leider nicht.
Irgendwo hab ich da nen Denkfehler drin, bin (wie so viele hier) natürlich relativer Neuling auf dem Gebiet, aber möchte unbedingt am Ball bleiben, und hab mich bereits totprobiert und -gesucht.
Über Hilfe würde ich mich sehr freuen, vielen Dank schonmal vorab.
Code:
<html>
<head>
<title>Berechnung Restprozente</title>
<script language="javascript">
function calculate ()
{
var wert1 = document.getElementById('feld1').value;
var wert2 = document.getElementById('feld2').value;
var wert3 = document.getElementById('feld3').value;
var wert4 = document.getElementById('feld4').value;
var summe = 100- wert1- wert2- wert3- wert4;
document.getElementById('sum').innerHTML = summe;
}
function formValid(myForm)
{
if(myForm.feld1.value == "" || isNaN(myForm.feld1.value) || myForm.feld1.value == 0 )
{
alert("Bitte gewichten Sie die noch fehlenden Merkmale!");
myForm.feld1.style.backgroundColor = "orange";
return false;
}
if(myForm.feld1.value >100 )
{
alert("Sie können nur 100% vergeben");
myForm.feld1.style.backgroundColor = "orange";
return false;
}
/* hier kommen noch 'feld2' bis 'feld4' rein */
if(myForm.sum.value <0 )
{
alert("Sie haben mehr als 100 % vergeben");
myForm.sum.style.backgroundColor = "orange";
return false;
}
if(myForm.sum.value >0 )
{
alert("Bitte vergeben sie die übrigen %-Punkte");
myForm.sum.style.backgroundColor = "orange";
return false;
}
return true;
}
</script>
</head>
<body>
<form action="mailversenden.php" method="get" onsubmit="return formValid(this)">
<input type='text' id='feld1' onKeyUp='calculate()'/> <span id='wert1'></span> <br />
<input type='text' id='feld2' onKeyUp='calculate()'/> <span id='wert2'></span> <br />
<input type='text' id='feld3' onKeyUp='calculate()'/> <span id='wert3'></span> <br />
<input type='text' id='feld4' onKeyUp='calculate()'/> <span id='wert4'></span> <br />
restliche Prozente = <span id='sum'></span>
<br />
<input type="submit" value="ABSENDEN" />
</form>
</body>
</html>