Avatar billede thingholm.dk Nybegynder
23. september 2003 - 11:27 Der er 7 kommentarer og
2 løsninger

Deaktivering af tekstfelt

Hej

Jeg har et tekstfelt og en checkbox. Hvordan laver jeg det sådan at hvis checkboxen er tjekket af, er tekstfeltet deaktiveret. Tekstfeltets tekst skal også sættes til 'test'. Hvis man fjerner krydset i checkboxen igen, kan man godt skrive i tekstfeltet.

VH

Anders
Avatar billede exp Juniormester
23. september 2003 - 11:35 #1
Så skal du nok stille spørgsmålet i javascript-kategorien :-)
Avatar billede korup Nybegynder
23. september 2003 - 11:47 #2
<html>
    <head>
   
    </head>
<body>
<form name="test" action"#">
<input type="checkbox" name="tjek" value="1" onchange="java script: if(test.tjek.checked)
  { 
      test.tekst.disabled = true;
  }
  else
  {
  test.tekst.disabled = false
}">
<input type="text" name="tekst">
</form>
</body>
</html>
Avatar billede thingholm.dk Nybegynder
23. september 2003 - 11:59 #3
Hej igen,

Super!

Nu har jeg denne funktion:

function checkbox() {
   
    if(document.forms[0].internalIssue.checked){
        document.forms[0].formCustomer.disabled = true;
        document.forms[0].formCustomer.value= 'Internt issue';
    }
    else {
        document.forms[0].formCustomer.disabled = false;
        document.forms[0].formCustomer.value='';
    }
}

Men der er 2 issues:

1. Det vil ikke sætte min tekst til 'internt issue'
2. Jeg har 2 CSS classes (textField og textFieldDisabled). Hvordan skifter jeg mellem disse?

VH

Anders
Avatar billede mm12010 Nybegynder
23. september 2003 - 12:02 #4
function checkbox() {
   
    if(document.forms[0].internalIssue.checked){
        document.forms[0].formCustomer.disabled = true;
        document.forms[0].formCustomer.className = 'textFieldDisabled';
    }
    else {
        document.forms[0].formCustomer.disabled = false;
        document.forms[0].formCustomer.className = 'textField';

    }
}
Avatar billede mm12010 Nybegynder
23. september 2003 - 12:03 #5
<input type="checkbox" name="tjek" value="1" onClick="checkbox();">
Avatar billede roenving Novice
23. september 2003 - 12:04 #6
-- lige et par kommentarer til korups:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript" language="javascript">
    function disableInput(tilstand){
      document.form1.minInput.disabled = tilstand;
    }
</script>
</head>
<body>
<form name="form1" action="http://www.minside.dk" method="post">
<input type="checkbox" name="check" onchange="disableInput(this.checked)">
<input type="text" name="minInput">
</form>
</body>
</html>

-- det blev til en ny udgave !-)
Avatar billede thingholm.dk Nybegynder
23. september 2003 - 12:12 #7
Ok, så er vi der næsten:

function checkbox() {
   
    if (document.forms[0].internalIssue.checked){
        document.forms[0].formCustomer.disabled = true;
        document.forms[0].formCustomer.value= 'Internt issue';
        document.forms[0].formCustomer.className = 'TextfieldDisabled';

    }
    else {
        document.forms[0].formCustomer.disabled = false;
        document.forms[0].formCustomer.value='';
        document.forms[0].formCustomer.className = 'Textfield';

    }
}

teksten 'internt issue' og css-udskiftningen sker først når man placerer cursoren i tekstfelten igen - dvs. ikke helt automatisk.
Avatar billede roenving Novice
23. september 2003 - 12:27 #8
-- og så lige lidt nemmere:

<input type="checkbox" name="tjek" value="1" onClick="checkbox(this);">

function checkbox(c) {
   
    if (c.checked){
        c.form.formCustomer.disabled = true;
        c.form.formCustomer.value= 'Internt issue';
        c.form.formCustomer.className = 'TextfieldDisabled';

    }
    else {
        c.form.formCustomer.disabled = false;
        c.form.formCustomer.value='';
        c.form.formCustomer.className = 'Textfield';

    }
}

-- og når jeg tester sker tingene da øjeblikkeligt !-)

-- forøvrigt er det normalt ikke så effektivt at skifte class på et element, da browseren for at være sikker er nødt til at genopbygge sit css DOM-træ helt forfra ...

Ændr hellere de enkelte properties, selvom det er flere kodelinjer !o]
Avatar billede thingholm.dk Nybegynder
23. september 2003 - 12:31 #9
ahhh jeg havde onchange i stedet for onclick - fra korup... Tak til jer alle.
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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel