Avatar billede putz Nybegynder
30. oktober 2000 - 18:31 Der er 7 kommentarer og
1 løsning

Checkboxe! Kan dette lade sig gøre??

Hej jeg har et problem.
Jeg skal have lavet en \"slags\" vis/vis ikke funktion. Jeg har en dynamisk genereret form hvori der indgår x antal checkboxe. Disse checkboxe skal, hvis man checker dem, få et textfield til at vises og når man unchecker skal textfieldet ikke vises. Dette kan jeg gøre med dette udemærkede script (fundet på Eksperten), men det virker kun når der er en checkbox og kun i ie.
Det jeg gerne vil er altså at have ændret scriptet så det virker på x antal checkboxe og både til ie og ns.

Håber det giver mening? jeg vedlægger scriptet så i kan se hvad jeg snakker om.

<script language=\"javascript\">
  function checkState(chBox) {
    if(chBox.checked)
      addTextField();
    else
      removeTextField();
  }
  function addTextField() {
    document.all.adiv.innerHTML=\"<input type=\'text\' id=\'text\' value=\'Skriv navn her\'/>\";
  }
  function removeTextField() {
    document.all.adiv.innerHTML=\"\";
  }
</script>

Her kalder jeg funktionen
response.write(\"<input type=checkbox onClick=\'checkState(this)\' name=\'\")

Og dette er textfieldet
response.write(\"\'><div id=\'adiv\'>Her skulle der gerne snart stå noget brugbart:)</div>\")

Håber på snarlig hjælp, da det er lidt en hastesag
Peace Putz
Avatar billede janus007 Nybegynder
30. oktober 2000 - 19:53 #1
Skal det være med x.antal inputboxe også eller kun en??
Avatar billede putz Nybegynder
30. oktober 2000 - 21:15 #2
Det skal være x antal textfields!
Avatar billede putz Nybegynder
30. oktober 2000 - 21:31 #3
Altså hvis der bliver genereret 3 checkboxe, skal man have muligheden for at klikke i hver af dem og derved vise/ikke vise 3 textfields (altså hver for sig ikk), hvor man kan skrive sit navn ell. lign i.
Peace Putz
Avatar billede ortrak Nybegynder
31. oktober 2000 - 00:03 #4
først og fremmest så hører dette hjemme i javascript-sektionen. Dernæst så er syntaksen for layers anderledes i NS end i IE. Dernæst overskriver addTextField dit gamle indhold i stedet for at tilføje. Og for at slutte rigtigt bittert af, så fjerner removeTextField hele det gamle indhold i stedet for bare at fjerne en enkelt check-box. Gå på jagt i javascript-sektionen...


/ortrak
Avatar billede putz Nybegynder
31. oktober 2000 - 00:19 #5
Ja tak skal du ellers ha\'
Jeg har ledt javascript-sektionen igennem og alle mulige andre sektioner for den sags skyld. Og ja jeg er klar over at syntaksen er anderledes i NS end i IE, derfor spørger jeg her på eksperten om hjælp. Jeg prøver altid alt hvad jeg kan for at løse mine problemer selv, men nogle gange må man give op og spørge andre der er bedre end en selv.
Om dette hører hjemme i JavaScript sektionen ved jeg ikke, men hvis der i denne sektion findes folk der kan hjælpe med dynamisk genererede forms udfra ASP, så er det da bare superkrudt :)

Hvis der ikke var tale om dynamiske elementer var jeg ikke i tvivl om hvor mit spørgsmål skulle have været oprettet og hvis det var tilfældet, tja så havde jeg en løsning der virker i både NS og IE, men som sagt så er det DYNAMISK jeg leder efter.

Peace Putz
Avatar billede putz Nybegynder
31. oktober 2000 - 01:07 #6
Jamen så flytter jeg da bare spørgsmålet
Avatar billede stoffer Nybegynder
31. oktober 2000 - 12:38 #7
Nå men anyway, det du siger kan ik\' lade sig gøre nemt :(.

1. I ns kan du kun skrive i absolut lag
2. Form fields kan såvidt jeg husker ikke skrives i laget i NS.

nå men her er en der virker i NS og IE:


    // Funktion til dymasisk at skrive i et layer (virker både i IE4+ og NS4+)
    var lyr = \"\"
    function writeLayer(divname,txt) {
        if (document.layers) {
                lyr = eval(\"document.layers.\" + divname + \".document\")
                lyr.open()
                lyr.write(txt)
                lyr.close()               
                }
        else {
                lyr = eval(\"document.all.\" + divname)
                lyr.innerHTML = txt
        }
    }
Avatar billede stoffer Nybegynder
31. oktober 2000 - 12:39 #8
feks. fjerne tekst: <a href=\"java script:writeLayer(\'adiv\',\'\')\">slet</a>
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
Kurser inden for grundlæggende programmering

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