Problem Checkboxen individuel aktivieren/deaktivieren
king-arthur
- javascript
0 Steel0 king-arthur0 ChrisB
0 king-arthur
Hallo,
ich bin Anfänger und auf der Suche nach Hilfe.
Meine Seite besteht aus 3 Auswahllisten und 4 Checkboxen.
Wichtig sind nur die 1. Liste und die Checkboxen.
In der Liste stehen verschiedene Werte. Je nach ausgewähltem Wert sollen bestimmte Checkboxen aktiviert oder deaktiviert werden.
Mein javascript hat jedoch noch fehler. Es aktiviert/deaktiviert die Checkboxen nicht ordentlich.
Wird Basic ausgewählt sollen z.B. alle Checkboxen aktiviert werden.
Bei Standart sollen alle bisherigen Boxen aktiviert werden und nur "Mobility" und "ACD" deaktiviert werden.
Es handelt sich um die Funktion updateTarif().
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta name="author" content="fsschmittj">
<meta name="editor" content="html-editor phase 5">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<table width="50%" border="1" cellpadding="0" cellspacing="2">
<tr>
<td style="width:50%;">
<h2>Bitte Tarif auswählen</h2>
<form name="Tarife" action="">
<p><select name="Top" size="1" onchange="updateTarif()">
<option>Basic</option>
<option> Basic+</option>
<option> Standard</option>
<option>Comfort</option>
<option>Premium</option>
<option>Agent Service Basic +</option>
</select></p></form>
</td>
<td style="width:50%;">
<form name="Gerätetypen">
<select size="1" name="Typen" onchange="update_Typ()">
<option value="IP" selected>IP</option>
<option value="Digital">Digital</option>
</select>
<select size="1" name="Phones">
<option selected>1110</option>
1120</option>
<option>1140</option>
<option>1210</option>
<option>1220</option>
<option>1230</option>
</select>
<br />
</form>
</td>
<script language="Javascript">
function update_Typ() {
var TypenAuswahl = document.forms.Gerätetypen.Typen;
var PhonesAuswahl = document.forms.Gerätetypen.Phones;
PhonesAuswahl.options.length = 0; // DropDown Menü entleeren
if (TypenAuswahl.options[TypenAuswahl.selectedIndex].value == "IP"){
PhonesAuswahl.options[0] = new Option("1110");
PhonesAuswahl.options[1] = new Option("1120");
PhonesAuswahl.options[2] = new Option("1140");
PhonesAuswahl.options[3] = new Option("1210");
PhonesAuswahl.options[4] = new Option("1220");
PhonesAuswahl.options[5] = new Option("1230");
}
else if (TypenAuswahl.options[TypenAuswahl.selectedIndex].value == "Digital"){
PhonesAuswahl.options[0] = new Option("M3902");
PhonesAuswahl.options[1] = new Option("M3903");
PhonesAuswahl.options[2] = new Option("M3904");
}
}
function updateTarif(){
if(document.Tarife.Top.selectedIndex==0){
document.Tarif.CTI.disabled=false;
document.Tarif.Mobility.disabled=false;
document.Tarif.ACD.disabled=false;}
else if(document.Tarife.Top.selectedIndex==1){
document.Tarif.CTI.disabled=true;}
else if(document.Tarife.Top.selectedIndex==2){
document.Tarif.CTI.disabled=false;
document.Tarif.Mobility.disabled=true;
document.Tarif.ACD.disabled=true;}
}
</script>
<td style="width:50%;">
<form action="" name="Tarif">
<p</p>
<p>
<input type="checkbox" name="CTI" value="CTI">CTI<br>
<input type="checkbox" name="Unified Communication" value="UC"> Unified <wbr> Communication<br>
<input type="checkbox" name="Mobility" value="Mobility"> Mobility<br>
<input type="checkbox" name="Automatic Call Distribution" value="ACD"> Automatic Call Distributio<br>
</form>
</td>
</tr>
</table>
</body>
</html>
Vielen Dank im Voraus.
Gruß
Hi!
Deine Fehlerbeschreibung ist etwas duerftig. Du solltest aber selbst draufkommen:
document.Tarif.ACD.disabled=true;
was ist document.Tarif.ACD? Das gibts nicht.
Danke für deine rasche Antwort.
ACD ist die 4. Checkbox.
Bsp: Wähle ich Standard aus disabled er nur Mobility. Er soll aber Mobility und ACD disablen. Er ändert immer nur eine Checkbox obwohl ich mehrere Befehle (document.Tarif.CTI.disabled=false;
document.Tarif.Mobility.disabled=true;
document.Tarif.ACD.disabled=true;)
aufgeführt habe.
Gruß
Hi,
was ist document.Tarif.ACD? Das gibts nicht.
ACD ist die 4. Checkbox.
Nein, in deinem Beispiel ganz und gar nicht.
Da gibt es keine Checkbox mit dem Namen/der ID ACD.
MfG ChrisB
Hab den Fehler gefunden.
Wusste nicht, dass über name zugegriffen wird. war die ganze Zeit bei value.
Danke.
Hab den Fehler gefunden.
Das freut mich.
Wusste nicht, dass über name zugegriffen wird. war die ganze Zeit bei value.
;)
Danke.
Mahlzeit king-arthur,
Wusste nicht, dass über name zugegriffen wird. war die ganze Zeit bei value.
Wieso sollte ein Element anhand seines Wertes identifiziert bzw. referenziert werden? Schließlich ist dieser u.U. gar nicht bekannt ... es ist deutlich sinnvoller, den Zugriff über den Namen zu regeln.
A propos Name: Du solltest mal die Namen Deiner Elemente überprüfen - <http://de.selfhtml.org/html/referenz/attribute.htm#id_idref_name@title=schließlich sind Leerzeichen darin nicht erlaubt>!
MfG,
EKKi