hmm, das scheint bei mir nicht zu funktionieren. Ich poste Mal, das was ich habe. Die Funktion check() soll nun feststellen, ob alle checkboxes an sind. Falls nicht sollte setText(0) gesetzt werden. Falls ja setText(100).
Vielen Dank in Voraus
<html>
<head>
<script type="text/javascript">
function absZahl() {
prozent = document.config.total.value;
kontingent = 1000;
preis = 4;
discount = preis-(preis*0.1);
menge = kontingent * (prozent/100);
if (prozent == 100){
preis = (menge*discount)/kontingent;}
else if(prozent >= 80){
preis = preis;
}
else if(prozent <= 80){
preis = preis*80/prozent;
preis = Math.round(preis) * 1;
}
document.config.gesamtpreis.value=preis;
}
function ShowTotal() {
document.config.total.value = '';
elem = document.config.elements;
var sum = 0;
for (i=0;i<elem.length;i++) {
if (elem[i].checked)
{
sum = sum + parseInt(elem[i].value);
}
}
document.config.total.value = sum;
}
function setText(newtext)
{
document.config.total.value=newtext;
}
function CheckAll()
{
var ml = document.config;
var len = ml.elements.length;
for (var i = 0; i < len; i++) {
var e = ml.elements[i];
if (e.name == "sizes[]") {
e.checked = true;
document.totr=100;
}
}
}
/*Diese Funktion überprüft, ob zumindest eines der checkboxes nicht angewählt ist und macht den settext entsprechend*/
function check()
{
var checkbox = document.config.elements;
var klick = true;
for(i = 0; i < checkbox.length; i++)
{
if(checkbox.checked == klick)
{
setText(100);
}
else {setText(0);}
}
}
function unCheckAll()
{
var ml = document.config;
var len = ml.elements.length;
for (var i = 0; i < len; i++) {
var e = ml.elements[i];
if (e.name == "sizes[]") {
e.checked = false;
}
}
}
</script>
</head>
<body onLoad="javascript:ShowTotal();javascript:CheckAll();javascript:setText(100);javascript:absZahl();javascript:check()">
<form name="config" action="">
<input class="checkbox" type="checkbox" name="sizes[]" value="4" onclick="ShowTotal();absZahl();check();" />5
<input class="checkbox" type="checkbox" name="sizes[]" value="5" onclick="ShowTotal();absZahl();check();" />5
<input class="checkbox" type="checkbox" name="sizes[]" value="10" onclick="ShowTotal();absZahl();check();" />10
<input class="checkbox" type="checkbox" name="sizes[]" value="20" onclick="ShowTotal();absZahl();check();" />20
<input class="checkbox" type="checkbox" name="sizes[]" value="5" onclick="ShowTotal();absZahl();check();" />5
<input class="checkbox" type="checkbox" name="sizes[]" value="10" onclick="ShowTotal();absZahl();check();" />10
<input class="checkbox" type="checkbox" name="sizes[]" value="10" onclick="ShowTotal();absZahl();check();" />10
<input class="checkbox" type="checkbox" name="sizes[]" value="20" onclick="ShowTotal();absZahl();check();" />20
<input class="checkbox" type="checkbox" name="sizes[]" value="5" onclick="ShowTotal();absZahl();check();" />5
<input class="checkbox" type="checkbox" name="sizes[]" value="10" onclick="ShowTotal();absZahl();check();" />10<br />
Insgesamt:
<input name="total" type="text" id="total" size="3" />
%
<hr />
<a href="javascript:CheckAll();javascript:setText('100');javascript:absZahl();">Alle wählen</a><br /> <a href="javascript:unCheckAll();javascript:setText('0');javascript:absZahl();">Alle entfernen</a><hr /> Aktueller Preis: <input name="gesamtpreis" type="text" id="gesamtpreis" size="2" />,-€<hr />
</form>
</body>
</html>