Radiobuttons sperren/entsperren weitere Radiobuttons
Diana
- javascript
0 Diana0 Axel Richter0 Diana
Hallo ihr lieben,
puenktlich zu Weihnachten ein Problemchen:
Habe folgendes Formular, das bei der Auswahl der "facility"-radio buttons ("no"), die darunter liegende RadioButtonGroup ("constyle") und das Textfeld ("timebc") deaktivieren soll.
Habe etliches probiert und bin immer irgendwo anders stecken geblieben. Kann mir jemand helfen, damit ich meine Feiertage auch geniessen kann?
Vielen lieben Dank im Voraus, ach ja und - FROHE WEIHNACHTEN,
Diana.
Habe folgenden Code:
<html>
<head>
<title>New Page 1</title><script type="text/javascript">
<!--
function checkThis2(){
if(document.business.facility[0].checked = true){
document.business.constyle[0].disabled = false;
document.business.constyle[1].disabled = false;
document.business.timebc.disabled = false;
}
if(document.business.facility[1].checked = true){
document.business.constyle[0].disabled = true;
document.business.constyle[1].disabled = true;
document.business.constyle[0].checked = false;
document.business.constyle[0].checked = false;
document.business.timebc.disabled = false;
}
}
--></script>
</head>
<body><form name="business">
<table border="0" width="100%" height="2">
<tr>
<td width="36%" height="1"><font face="Verdana"><input type="radio" name="facility" value="yes" onclick="javascript:checkThis2();"><font size="2">
yes </font>
<input type="radio" value="no" name="facility" onclick="javascript: checkThis2();"><font size="2"> no </font>
</font></td>
</tr>
<tr>
<td width="36%" height="8">
<INPUT NAME="timebc" SIZE="30" MAXLENGTH="75"></td>
</tr>
<tr>
<td width="36%" height="1">
<p style="line-height: 150%"> <font face="Verdana" size="2">
<input type="radio" value="class room" name="constyle">class room<br>
<input type="radio" value="u-shape" name="constyle">u-shape</font></td>
</tr>
</table>
</form></body>
</html>
O.k., nachdem ich mich allen Anschein nach ziemlich missverstaendlich ausgedrueck habe, hier nochmals eine ausfuehrlichere Version.
Vollstaendiger Code:
<html>
<head>
<title>New Page 1</title><script type="text/javascript">
<!--
function checkThis2(){
if(document.business.facility[0].checked == true){
document.business.constyle[0].disabled = false;
document.business.constyle[1].disabled = false;
document.business.timebc.disabled = false;
}
if(document.business.facility[1].checked = true){
document.business.constyle[0].disabled = true;
document.business.constyle[1].disabled = true;
document.business.constyle[0].checked = false;
document.business.constyle[0].checked = false;
document.business.timebc.disabled = false;
}
}
--></script>
</head>
<body>
<form name="business">
<table border="0" width="100%" height="2">
<tr>
<td width="79%" height="1" colspan="2">
<b><font face="Verdana" color="#003366">Business Center</font></b></td>
</tr>
<tr>
<td width="79%" height="1" colspan="2"></td>
</tr>
<tr>
<td width="43%" height="1">
<font face="Verdana" size="2">Will you need the meeting facility?</font></td>
<td width="36%" height="1"> <font face="Verdana"><input type="radio" name="facility" value="yes" onclick="javascript:checkThis2();"><font size="2">
yes </font>
<input type="radio" value="no" name="facility" onclick="javascript: checkThis2();"><font size="2"> no </font>
</font> </td>
</tr>
<tr>
<td width="43%" height="8">
<font face="Verdana" size="2">Time:</font></td>
<td width="36%" height="8">
<INPUT NAME="timebc" SIZE="30" MAXLENGTH="75"></td>
</tr>
<tr>
<td width="43%" height="1" style="vertical-align: top">
<font face="Verdana" size="2">Conference setup style:</font></td>
<td width="36%" height="1">
<p style="line-height: 150%"> <font face="Verdana" size="2">
<input type="radio" value="class room" name="constyle">class room<br>
<input type="radio" value="u-shape" name="constyle">u-shape</font></td>
</tr>
</table>
</form>
</body>
</html>
O.k., wie man sieht, besteht das Formular bislang aus drei Eintraegen.
Mal angenommen, der User beantwortet die erste Frage mit "No", so ist das Textfeld als auch die darunterliegenden Radiobuttons uninteressant und sollen auf "disabled" und "unchecked" gesetzt werden. Bei "yes" sollen jedoch alle Felder noch bearbeitet werden koennen.
Kann mir jemand dabei helfen, dieses Problem mit Javascript irgendwie in den Griff zu bekommen?
Nochmals vielen Dank und frohe Weihnachten...
Hallo,
Mal angenommen, der User beantwortet die erste Frage mit "No", so ist das Textfeld als auch die darunterliegenden Radiobuttons uninteressant und sollen auf "disabled" und "unchecked" gesetzt werden. Bei "yes" sollen jedoch alle Felder noch bearbeitet werden koennen.
disabled und checked sind leere Attribute: link:http://selfhtml.teamone.de/html/referenz/attribute.htm#input].
Sie enthalten also nicht die boolschen Werte true und false. Deshalb bringt es auch nichts, ihnen diese zuzuweisen.
Kann mir jemand dabei helfen, dieses Problem mit Javascript irgendwie in den Griff zu bekommen?
function checkThis2(){
if(document.business.facility[0].checked){
document.business.constyle[0].disabled = "";
document.business.constyle[1].disabled = "";
document.business.timebc.disabled = "";
}
if(document.business.facility[1].checked){
document.business.constyle[0].disabled = "disabled";
document.business.constyle[1].disabled = "disabled";
document.business.constyle[0].checked = "";
document.business.constyle[0].checked = "";
document.business.timebc.disabled = "disabled";
}
}
Und _bitte_ schau nochmal nach, welchen Inhalt die Eventhandler-Attribute haben müssen. http://selfhtml.teamone.de/javascript/sprache/eventhandler.htm#allgemeines
Das hier:
<input type="radio" value="no" name="facility" onclick="javascript: checkThis2();">
MUSS _dringend_
<input type="radio" value="no" name="facility" onclick="checkThis2();">
heißen.
Bitte verabschiede Dich außerdem bald von FONT http://www.w3.org/TR/html4/present/graphics.html#h-15.2.2 und nutze stattdessen CSS http://selfhtml.teamone.de/css/eigenschaften/schrift.htm.
viele Grüße
Axel
Hallo Axel,
vielen lieben Dank fuer die Hilfe. Werde mal gleich alles ausprobieren!!!
Und deinen Tipps werde ich auch auf jeden Fall mal nachgehen - wie man ja sieht, bin ich ein richtiger Neuling auf diesem Gebiet.
Wuensche dir weiterhin noch Frohe Weihnachten und falls wir uns nicht mehr hoeren einen guten Rutsch ins neue Jahr!
Liebe Gruesse,
Diana.