Avatar billede stig69 Nybegynder
25. marts 2003 - 08:51 Der er 12 kommentarer og
1 løsning

2 checkboxe, der hver især skal aktivere deres textfelt

Jeg skal bruge et lille script der indeholder to checkboxe. Man skal kun kunne afkrydse den ene. Ved kryds i den første, skal det være muligt at skrive i et teksfelt tilhørende denne checkbox. Det skal ikke være muligt at skrive i tekstfelt tilhørende checkbox to. Omvendt når man afkrydser checkbox to.

Nedenfor har jeg medtaget noget af min html-script. Jeg ved ikke om det kan bruges, mere for at give en idé om hvad jeg ønsker

<html>
<head>
<script type="text/JavaScript">

</script>
</head>
<body>

<form name="nyform">
  <p><input type="checkbox" name="C1" value="ON" onclick="XXXXX">Indskriv ny medarbejder</p>
  <p><input type="text\" name="T1" value="Skriv medarbejder navn" size="40" style="background-color:#ededed" disabled></p>

    <p><input type="checkbox" name="C1" value="ON" onclick="XXXXX">Indskriv ny Kunde</p>
    <p><input type="text" name="T2" value="Skriv kunde navn" size="40" style="background-color:#ededed" disabled></p>

</form>
</body>
</html>

- Stig
Avatar billede bearhugx Nybegynder
25. marts 2003 - 09:15 #1
hvis jeg har forstået dig ret, så er her noget kode, som du kan bruge...

<html>
<head>
<script type="text/javascript">
  function activate( chk, field ) {
    if( chk.checked ) {
      field.disabled = false;
    } else {
      field.disabled = true;
    }
  }
</script>
</head>
<body>

<form name="nyform">
  <p><input type="checkbox" name="C1" value="ON" onclick="activate(this, this.form.T1);">Indskriv ny medarbejder</p>
  <p><input type="text\" name="T1" value="Skriv medarbejder navn" size="40" style="background-color:#ededed" disabled></p>

    <p><input type="checkbox" name="C1" value="ON" onclick="activate(this, this.form.T2);">Indskriv ny Kunde</p>
    <p><input type="text" name="T2" value="Skriv kunde navn" size="40" style="background-color:#ededed" disabled></p>

</form>
</body>
</html>

/Søren
Avatar billede krsk Nybegynder
25. marts 2003 - 09:18 #2
Noget simpelt men det virker :-)

<html>
<head>
<script type="text/JavaScript">

function enable(dims)
{

if(dims == 'C1')
{
document.nyform.C2.checked = false;
document.nyform.T2.disabled = true;
document.nyform.T1.disabled = false;

}

if(dims == 'C2')
{
document.nyform.C1.checked = false;
document.nyform.T1.disabled = true;
document.nyform.T2.disabled = false;
}



}

</script>
</head>
<body>

<form name="nyform">
  <p><input type="checkbox" name="C1" onclick="java script:enable('C1');">Indskriv ny medarbejder</p>
  <p><input type="text\" name="T1" value="Skriv medarbejder navn" size="40" style="background-color:#ededed" disabled></p>

    <p><input type="checkbox" name="C2" onclick="java script:enable('C2');">Indskriv ny Kunde</p>
    <p><input type="text" name="T2" value="Skriv kunde navn" size="40" style="background-color:#ededed" disabled></p>

</form>
</body>
</html>
Avatar billede stig69 Nybegynder
25. marts 2003 - 09:23 #3
Begge jeres løsninger virker fuldstændig. Tak skal i have. Dog har krsk ramt lidt mere præcist, da det kun skulle være muligt at afkrydse en checkbox og ikke begge to samtidigt.

Jeg er ked af det bearhugx, men pointene på gå til krsk.

Stig
Avatar billede krsk Nybegynder
25. marts 2003 - 09:27 #4
-> bearhugx

Din løsning er pænere kode, du manglede bare det sidste (sikkert bare glemt det) så hvis du vil ha' ½ delen er det cool med mig. Bare fortæl mig hvordan jeg giver dig dem :-)
Avatar billede bearhugx Nybegynder
25. marts 2003 - 10:22 #5
det er ok.. Ja - jeg havde glemt den sidste - men vil så samtidig sige, at det så mere er et job for radio-knapper, end det er for checkbokse ... jeg har lavet et eksempel...

<html>
  <head>
    <script type="text/javascript">
      function deactivate( field ) {
        field.disabled = true;
        field.className = "noEdit";
      }
      function deactivateFields() {
        deactivate( document.forms.myForm.medarbejder );
        deactivate( document.forms.myForm.kunde );
      }
      function activate( field ) {
        deactivateFields();
        field.disabled = false;
        field.className = "readyForEdit"
        field.focus();
      }
    </script>
    <style type="text/css">
      .noEdit { background-color : #ededed; }
      .readyForEdit { background-color: #ffffdd; }
    </style>
  </head>
  <body>
    <form id="myForm">
      <p><input type="radio" name="selection" value="nyMedarbejder" onclick="activate(this.form.medarbejder);"/> Indskriv ny medarbjeder<br/>
      <input type="text" name="medarbejder" size="40" class="noEdit" disabled ></p>
      <p><input type="radio" name="selection" value="nyKunde" onclick="activate(this.form.kunde);"/> Indskriv ny kunde<br/>
      <input type="text" name="kunde" size="40" class="noEdit" disabled ></p>
    <form>
  </body>
</html>
Avatar billede stig69 Nybegynder
25. marts 2003 - 10:25 #6
bearhugx-> Arhhh. Du giver mig dårlig samvittighed :-). Er der nogen mulighed for at jeg kan give dig nogle point?

Stig
Avatar billede krsk Nybegynder
25. marts 2003 - 10:28 #7
Det ville faktisk være endnu mere lækkert hvis vi droppede radio og klik fuldstændig, men findes der en event som fanger et klik på et textfelt som er disabled...??? I såfald ville det være federe :-)
Avatar billede bearhugx Nybegynder
25. marts 2003 - 10:32 #8
Jo --- men radioknapperne er med til at sikre, at personen så også har valgt den rigtige - hvis det at vælge kunde eller medarbejder kommer ud på om man har (kommet til at) klikke på et vilkårlig tekstfelt, så vil jeg sige, at det ikke er særligt brugervenligt ....

en disabled kontrol modtager ikke onClick-events  (eler events generelt...)-- en readonly kan ... så det var måske en ide, at overveje om den evt. skulle være readonly i stedet for disabled....
Avatar billede bearhugx Nybegynder
25. marts 2003 - 10:34 #9
jeg har lige efterprøvet ideen - og det bliver noget bøvl - rent ud sagt....
Avatar billede bearhugx Nybegynder
25. marts 2003 - 10:35 #10
hvis du absolut vil give points, så gør følgende
> Opret et spørgsmål, som hedder "points til bearhugx"
> Sørg for at der specifikt i spørgsmålet, henvises til http://www.eksperten.dk/spm/333045 og hvorfor du mener, at jeg skal have points
Avatar billede stig69 Nybegynder
25. marts 2003 - 10:43 #11
Avatar billede stig69 Nybegynder
25. marts 2003 - 11:05 #12
bearhugs-> Snup dine point http://www.eksperten.dk/spm/333091
Avatar billede bearhugx Nybegynder
25. marts 2003 - 11:09 #13
*er snuppet*
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