Grundsätzlich ist meine Aufgabe, JavaScript zu aktivieren, wenn das Kontrollkästchen aktiviert ist (aktivieren) und deaktivieren Sie es, wenn es angeklickt (aus). Der Code funktioniert jedoch immer noch nicht und wird nichts tun, unabhängig davon, ob ich auf das Kontrollkästchen klicke oder nicht.JS - Aktivieren/Deaktivieren Textfeld mit Checkbox
</head>
<body>
<div id="container">
<h2> Order Information </h2>
<div class="entry">
Select color:
<select name="color">
<option selected="selected">White</option>
<option>Black</option>
<option>Red</option>
<option>Green</option>
<option>Blue</option>
</select> <br><br>
Select shirt size:
<select name="sizeandprice">
<option>Small - $9.99</option>
<option>Medium - $10.99</option>
<option selected="selected">Large - $11.99</option>
<option>X-Large - $13.99</option>
</select><br><br>
Is this a gift? <input type="checkbox" name="gift"> <br><br>
Write your gift message here: <br>
<textarea disabled rows="5" cols="50" name="message">Type your message here.
</textarea>
</div>
</div>
</body>
</html>
Hier ist der Javascript-Code:
function enable(x) {
x = document.getElementbyId("gift");
x.checked
if(x == true) {
var textarea = document.getElementbyId("message");
textarea.disabled = false;
}
else {
var textarea = document.getElementbyId("message");
textarea.disabled = true;
}
}
Wenn er 'name' loswird, sendet das Element seine Daten nicht mit dem Formular. Außerdem gibt '.getElementsByName()' eine "Live" -Knotenliste zurück, die begrenzte Anwendungsfälle hat, da sie mehr Ressourcen verwendet. '.querySelectorAll()' ist der richtige moderne Ansatz. –