Archiv verlassen und diese Seite im Standarddesign anzeigen : textfeld disablen via checkbox
hi,
ich hab da mal ne frage weil ich das grad brauche, aber ich mich mit javascript überhaupt nicht auskenne - ich glaub das ist nicht so schwierig aber irgendwie hab ich bis jetzt nicht das richtige gefunden, wo ich mir was abschauen könnte:
ich möchte einer checkbox die wunderbaren kräfte verleihen, durch einen klick ein (oder mehrere) textfelder zu deaktivieren. rückgängig sollte das ganze natürlich auch gemacht werden können..
wie geht das?
danke im voraus, lg, ingo
<script type='text/javascript'>
function machEs() {
var felder = new Array('asd', 'foo', 'bar');
var i;
for (i=0; i<felder.length; i++) {
document.getElementById(felder[i]).disabled=document.getElementById('klickding').checked;
}
}
</script>
<textarea id='asd'>Hallo, ich bin ein sinnloser Text!</textarea><br>
<textarea id='foo'>Hallo, ich bin DER sinnlose Text!</textarea><br>
<textarea id='bar'>Hallo, ich sinnlos!</textarea><br>
<input type='checkbox' id='klickding' onclick='machEs();'>
Hisel
24.02.2005, 10:55:08
Moin
Auf der suche nach einer Lösung für mein Problem bin ich auf diesen Beitrag gestoßen. Allerdings wird mein Problem nur zum Teil gelöst. Da ich aber noch nichts anderes gefunden habe, stelle ich mal mein Problem in den Raum:
Ist es möglich mit einer checkbox ein selectfeld zu deaktivieren und gleichzeitig ein input textfeld zu aktivieren?
Habe schon ein wenig mit dem Beispiel oben gespielt aber wenn ich von fornherein sage textfeld deaktiviert im HTML Code dann bekomme ich es nicht wieder aktiviert....
Also so soll es es:
Wenn checkbox nicht abgehakt dann select Feld aktiv und input textfeld deaktiv und wenn die checkbox abgehakt natürlich umgekehrt.
Meine versuch:
<script type='text/javascript'>
function machEs() {
var felder = new Array('asd', 'foo');
var i;
for (i=0; i<felder.length; i++) {
document.getElementById(felder[i]).disabled=document.getElementById('klickding').checked;
}
}
</script>
<select id='foo' name="test">
<option value="1">1</option>
<option value="2">2</option>
</select><br>
<input id='bar' name="text" type="text">
<input type='checkbox' id='klickding' onclick='machEs();'>
Ich hoffe Ihr versteht mich
War ja fast schon kniffelig!
So geht's: <input type='text' id='inp'><br>
<select id='sel'>
<option>asd</option>
<option>foo</option>
<option>bar</option>
</select>
<input type='checkbox' id='klickding' onclick='machEs()'>
<script type='text/javascript'>
function machEs() {
document.getElementById('sel').disabled = document.getElementById('klickding').checked;
document.getElementById('inp').disabled = !(document.getElementById('klickding').checked);
}
</script> Die Klammern bei dem 'inp' müssen sein, da er sonst wohl nur versucht 'document' zu disablen...
Hisel
24.02.2005, 11:09:53
Cool danke für die schnelle Hilfe...
Bringt mich um einiges weiter mit meinem Vorhaben.
Grus Hisel
Hisel
24.02.2005, 11:41:34
Folgendes Problem habe ich selber noch gelöst:
Wenn man die Seite zum erstenmal auf ruft bzw auf die Seite kommt, kann man noch beides anwählen durch eine kleine Änderung nicht mehr möglich....
<input type='text' id='inp' onclick='machEs()'><br>
<select id='sel'>
<option>asd</option>
<option>foo</option>
<option>bar</option>
</select>
<input type='checkbox' id='klickding' onclick='machEs()'>
<script type='text/javascript'>
function machEs() {
document.getElementById('sel').disabled = document.getElementById('klickding').checked;
document.getElementById('inp').disabled = !(document.getElementById('klickding').checked);
}
</script>
Gruß Hisel
Besserer Vorschlag: <input type='text' id='inp' disabled='disabled'><br>
<select id='sel'>
<option>asd</option>
<option>foo</option>
<option>bar</option>
</select>
<input type='checkbox' id='klickding' onclick='machEs()'>
<script type='text/javascript'>
function machEs() {
document.getElementById('sel').disabled = document.getElementById('klickding').checked;
document.getElementById('inp').disabled = !(document.getElementById('klickding').checked);
}
</script> --> http://www.selfhtml.net/html/formulare/tastatur.htm#elemente_ausgrauen
Hisel
24.02.2005, 11:45:31
Ok ist wirklich besser...
Hisel
Habe ich nicht...
Siehe rote Markierung.
Hisel Jo, hatte ich übersehen. Habe meinen Beitrag entsprechend geändert.
xabbuh
24.02.2005, 16:06:29
<input type='text' id='inp' disabled='disabled'>
[...]
Müssen Attribute nicht immer in doppelten statt einfachen Anführungszeichen stehen?
Müssen Attribute nicht immer in doppelten statt einfachen Anführungszeichen stehen? --> http://www.selfphp.com/forum/showthread.php?t=6553
xabbuh
24.02.2005, 16:23:19
--> http://www.selfphp.com/forum/showthread.php?t=6553
Danke schön, war mir da nicht so sicher.
vBulletin® v3.8.3, Copyright ©2000-2013, Jelsoft Enterprises Ltd.