Avatar billede dramsgaard Nybegynder
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
Avatar billede softspot Forsker
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>
Avatar billede olebole Juniormester
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>
Avatar billede dramsgaard Nybegynder
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
Avatar billede softspot Forsker
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>
Avatar billede dramsgaard Nybegynder
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?
Avatar billede softspot Forsker
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>
Avatar billede dramsgaard Nybegynder
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?
Avatar billede softspot Forsker
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?
Avatar billede dramsgaard Nybegynder
23. januar 2005 - 20:44 #9
7.02
Avatar billede softspot Forsker
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?
Avatar billede softspot Forsker
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...(?)
Avatar billede dramsgaard Nybegynder
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 :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester