22. januar 2005 - 15:38
Der er
10 kommentarer og 2 løsninger
disable textbox
hvordan kan man lave så hvis en checkbox er enabled skal en textbox også enables, ellers skal textboxen være disabled
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
22. januar 2005 - 16:46
#1
Prøv med: <html> <head> <title>Test af form state via script</title> </head> <body> <form id="frm"> <input type="checkbox" onclick="document.getElementById('frm').txt.disabled = !this.checked"> <input type="textbox" id="txt" name="txt" value="" disabled="true"> </form> </body> </html>
22. januar 2005 - 19:50
#2
<ole> Der, hvor du dis-/enable'er din checkbox, må du også dis-/enable dit tekstfelt. Den property kan du ikke automatisk kæde sammen for forskellige felter /mvh </bole>
22. januar 2005 - 20:17
#3
softspot >> ja det er noget i den stil jeg skal bruge, men hvis den er disabled skal value altid være tom. hvordan kan man lave det? baggrunden i tekstfeltet må også meget gerne være grå når den er disabled
22. januar 2005 - 22:34
#4
Kan det her bruges? <html> <head> <title>Test af form state via script</title> <script language="javascript"> function setState(ctl) { var txtbox = document.getElementById('frm').txt; txtbox.disabled = !ctl.checked; if(!ctl.checked) { txtbox.style.backgroundColor = "#dfdfdf"; txtbox.value = ""; } else txtbox.style.backgroundColor = "#ffffff"; } </script> </head> <body onload="setState(document.getElementById('frm').chk)"> <form id="frm"> <input type="checkbox" id="chk" name="chk" onclick="setState(this)"> <input type="textbox" id="txt" name="txt" value="" disabled="true"> </form> </body> </html>
23. januar 2005 - 13:27
#5
jeg skal bruge funktionen 6 steder på min side, så kan man ikke lave så tekstboksnavnet og checkboxnavnet bliver variable, så man ikke behøver en funktion for hvert sted?
23. januar 2005 - 14:02
#6
OK, hvad så med denne her da: <html> <head> <title>Test af form state via script</title> <script language="javascript"> function setState(ctl, dependant) { var txtbox = document.getElementById('frm').elements[dependant]; txtbox.disabled = !ctl.checked; if(!ctl.checked) { txtbox.style.backgroundColor = "#dfdfdf"; txtbox.value = ""; } else txtbox.style.backgroundColor = "#ffffff"; } function initState() { setState(document.getElementById('frm').chk1,'txt1'); setState(document.getElementById('frm').chk2,'txt2'); setState(document.getElementById('frm').chk3,'txt3'); setState(document.getElementById('frm').chk4,'txt4'); } </script> </head> <body onload="initState()"> <form id="frm"> <input type="checkbox" id="chk1" name="chk1" onclick="setState(this, 'txt1')"> <input type="textbox" id="txt1" name="txt1" value="" disabled="true"><br> <input type="checkbox" id="chk2" name="chk2" onclick="setState(this, 'txt2')"> <input type="textbox" id="txt2" name="txt2" value="" disabled="true"><br> <input type="checkbox" id="chk3" name="chk3" onclick="setState(this, 'txt3')"> <input type="textbox" id="txt3" name="txt3" value="" disabled="true"><br> <input type="checkbox" id="chk4" name="chk4" onclick="setState(this, 'txt4')"> <input type="textbox" id="txt4" name="txt4" value="" disabled="true"><br> </form> </body> </html>
23. januar 2005 - 16:14
#7
hmm din funktion virker tilsyneladende ikke i Netscape desværre. når man klikker i checkboxen bliver textboxen ikke enabled, har du et forslag til hvad der kan være galt?
23. januar 2005 - 18:06
#8
Bugger! Jeg tester den i NS 7.2 og der fungerer det godt nok. Hvilken version kører du?
23. januar 2005 - 20:44
#9
7.02
23. januar 2005 - 21:34
#10
Prøv at sætte nogle alerts ind i koden så du kan spore hvilke værdier de forskellige objekter og egenskaber har. Jeg har ikke selv en NS 7.02 installeret, så jeg kan desværre ikke debugge koden for dig. Bliver kontrollerne initieret godt nok eller hvad? (for at finde ud af det skal du lige fjerne disabled="true" fra alle tekstfelterne i formularen)... Bliver der genereret nogle fejl når siden bliver vist og når du checker en checkbox?
23. januar 2005 - 22:07
#11
OK, nu har jeg lige installeret en Netscape 7.02 på en Virtual PC med Win 98 og der fungerer det også fint nok...(?)
24. januar 2005 - 20:09
#12
jeg har fundet fejlen nu. det var fordi den form tag jeg havde på min side ikke havde "id" men kun "name", IE var åbenbart ligeglad med det, men det var NS ik. men tak for hjælpen :)
Vi tilbyder markedets bedste kurser inden for webudvikling