Avatar billede elskermad.dk Nybegynder
07. august 2003 - 16:01 Der er 25 kommentarer og
3 løsninger

Vise/Skjule divs virker ikke

hej Eksperter :)

jeg har følgende kode men den vil ikke som den skal skrifte mellem forskellige divs når jeg trykker på et link :(

function showdiv(div) {
    if (document.getElementById(div).style.display == 'none') {
        document.getElementById(div).style.display = '';   
    }
    else {
        document.getElementById(div).style.display = 'none';   
    }
}



    <div name='overdaekke' class='div_overdeakke'>
    <div style='background-image: url(image/logo_start.gif);height:200px;width:800px;position:absolute;left:35px;top:100px'></div>
    <div style='background-image: url(image/stop.gif);height:200px;width:800px;position:absolute;left:37px;top:300px'>

        echo"<div name='forside' style='display:'>   
      <div style='left:300px;top:10px;position:absolute;font-size:20px;font-family: \'Courier New\';'>
        Velkommen til KontorChef.dk :]
      </div>
      <div style='left:275px;top:40px;width:375px;position:absolute;font-size:14px;font-family: \'Courier New\';'>
        Da du ikke er logged ind på KontorChef.dk som bruger kan du desværre ikke bruge siden lige nu :/<p>
        <a href='#' onClick='showdiv(\"login\");return false'>Login</a> med dit brugernavn med det samme, eller<br>
        <a href='#' onClick='showdiv(\"opret_bruger\");return false'>opret en bruger</a> og få adgang til alle funktionerne på siden 100% gratis på 2 min! :)
      </div>
        </div>
       
        <div name='login' style='display:none'>   
      <div style='left:300px;top:10px;position:absolute;font-size:20px;font-family: \'Courier New\';'>
        Login på KontorChef.dk :]
      </div>
      <div style='left:275px;top:40px;width:375px;position:absolute;font-size:12px;font-family: \'Courier New\';'>
        <form name='login' method='post' action='bruger.php?mode=login' onSubmit='check(\"login\");return false'>
          Brugernavn:<br>
            <input type='text' name='brugernavn' class='form_boks' style='width:90%'><br>
          Password:<br>
          <input type='password' name='password' class='form_boks' style='width:90%'><br><br>
          <input type='submit' name='Submit' value='[ login ]' class='form_knap' style='width:45%'>
          <input type='reset' name='reset' value='[ slet alt / tilbage ]' class='form_knap' style='width:44%' onClick='location.href=\"?\"'><br><br>
        </form>
      </div>
        </div>
       
        <div name='opret_bruger' style='display:none'>   
      <div style='left:300px;top:10px;position:absolute;font-size:20px;font-family: \'Courier New\';'>
        Opret din egen bruger :]
      </div>
      <div style='left:275px;top:40px;width:375px;position:absolute;font-size:12px;font-family: \'Courier New\';'>
        <form name='opret_bruger' method='post' action='bruger.php?mode=opret_bruger' onSubmit='check(\"opret_bruger\");return false'>
          Brugernavn:<br>
            <input type='text' name='brugernavn' class='form_boks' style='width:90%'><br>
          Password:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Igen:<br>
          <input type='password' name='password1' class='form_boks' style='width:45%'>
          <input type='password' name='password2' class='form_boks' style='width:44%'><br>
          Email-adresse (skal være gyldig)<br>
          <input type='text' name='email' class='form_boks' style='width:90%'><br><br>
          <input type='submit' name='Submit' value='[ opret bruger ]' class='form_knap' style='width:45%'>
          <input type='reset' name='reset' value='[ slet alt / tilbage ]' class='form_knap' style='width:44%' onClick='location.href=\"?\"'><br><br>
        </form>
      </div>
        </div>   
    </span>
    </div>
Avatar billede elskermad.dk Nybegynder
07. august 2003 - 16:06 #1
jeg har også prøvet at lave denne funktion for at lukke de andre divs væk således kun 1 er synlig, men den returnere stadig fejl :(

function showdiv(div) {
    if (document.getElementById(div).style.display == 'none') {
        document.getElementById("forside").style.display = 'none';   
        document.getElementById("login").style.display = 'none';   
        document.getElementById("opret_bruger").style.display = 'none';   
        document.getElementById(div).style.display = '';   
    }
    else {
        document.getElementById("forside").style.display = '';     
        document.getElementById("login").style.display = '';     
        document.getElementById("opret_bruger").style.display = '';   
        document.getElementById(div).style.display = 'none';    
       
    }
}

siden kan ses på www.myserver.lir.dk/kontorchef.dk
Avatar billede elskermad.dk Nybegynder
07. august 2003 - 16:16 #2
har ændret lidt i koden, så nok bedst i henter den fra det link jeg har skrevet!

Koden er helt i bunden
Avatar billede Slettet bruger
07. august 2003 - 16:16 #3
Jeg går ud fra, de dér backslashes i fx:

<a href='#' onClick='showdiv(\"login\");return false'>

... ikke ser sådan ud i koden. Kan du ikke oprette et testbrugernavn, så man kan bruge siden uden at skulle oprette?
Avatar billede roenving Novice
07. august 2003 - 16:20 #4
Hvilken fejl får du ?-)
Avatar billede elskermad.dk Nybegynder
07. august 2003 - 16:22 #5
phoenixv: min fejl, fordi jeg har taget den ud af min PHP kode, har bare glemt at fjerne dit backslashes...
hvad vil du kunne finde ud af ved en testbruger?

jeg får ingen dicideret fejl, kun den "Der opstod en fejl på siden" som IE skriver i statuslinien ved fejl, også skifter den ikke min div :(
Avatar billede Slettet bruger
07. august 2003 - 16:24 #6
Fordelen ved en testbruger er, at jeg så kan teste siden. :)

Prøve at dobbeltklikke på fejlikonet, så skulle fejlteksten gerne stå der.
Avatar billede elskermad.dk Nybegynder
07. august 2003 - 16:29 #7
jamen fejlen er jo ikke på de andre sider!!
det er kun når man ikke er logged ind på siden at de divs er der, og derfor kun der de kan volde problemmer som de gør :(

den skriver:
linie: 98
tegn: 3
fejl: et object er oblitorisk
kode: 0
Avatar billede elskermad.dk Nybegynder
07. august 2003 - 16:30 #8
det er denne linie:
document.getElementById("forside").style.display = '';
Avatar billede Slettet bruger
07. august 2003 - 16:32 #9
Der er noget galt med linje 381:

<input type='reset' name='reset' value='[ slet alt / tilbage ]' class='form_knap' style='width:44%' onClick='showdiv("forside"'>

Parantesen skal afsluttes.
Avatar billede elskermad.dk Nybegynder
07. august 2003 - 16:33 #10
det havde jeg lige overset, men den siger stadig samme fejl :( skod man ikke er bedre til det her!
Avatar billede elskermad.dk Nybegynder
07. august 2003 - 16:33 #11
ser min function ellers ikke rigtig ud?
Avatar billede kemoiq Nybegynder
07. august 2003 - 16:33 #12
1.
I dine "div" står der name, men i java scriptet bruger du 2getElementById" prøv at ændre name til id.
<div name='login' style='display:none'>

2.
I dine links skal du sætte "java script:" ind foran funktions kald sådan her:
<a href='#' onClick='java script:showdiv(\"login\");return false'>
Avatar billede roenving Novice
07. august 2003 - 16:34 #13
Du har jo heller ikke en div med id = forside ...
Avatar billede Slettet bruger
07. august 2003 - 16:35 #14
kemoig>> Selvfølgelig, godt set! :)
Hvor tidligt kan grå stær sætte ind?
Avatar billede kemoiq Nybegynder
07. august 2003 - 16:35 #15
ups... 2 = "
Avatar billede roenving Novice
07. august 2003 - 16:36 #16
I den kode du smed først er linjen med forside-div'en sådan:

        echo"<div name='forside' style='display:'>   

og hvis man kigger på kilden er der ikke nogen div, som ser sådan ud !-)
Avatar billede elskermad.dk Nybegynder
07. august 2003 - 16:37 #17
argh var ikke klar over det skulle hedde id.. hvad bruger man så name til?

35points til phoenixv og 35 til komoig hvis han ligger et svar!
Avatar billede roenving Novice
07. august 2003 - 16:38 #18
-- og jeg skulle bare hele kilden igennem -- undskyld *+)
Avatar billede elskermad.dk Nybegynder
07. august 2003 - 16:38 #19
kan man så fx bruge en getElementByName hvis det var? ;]
Avatar billede elskermad.dk Nybegynder
07. august 2003 - 16:39 #20
hehe du kan os godt få noget så roenving, bar glad for at folk vil hjælpe mig når jeg ikke selv er så klog :D varmen trykker sikkert! hehe....
du lægger os bar et svar :)
Avatar billede kemoiq Nybegynder
07. august 2003 - 16:40 #21
Takker.

Så hvidt jeg kan huske må du skrive det samme i name flere steder på siden hvor det du skriver i id kun må optræde en gang på siden.
Avatar billede roenving Novice
07. august 2003 - 16:46 #22
>>elskermad.dk

-- nej man kan ikke finde en getElementByName ...

Men name kan bruges på form-elementer, så den har klart sin berettigelse, og du kan bruge den til andre mærkværdigheder, f.eks. til gruppering af elementer, som du vil behandle ens ...

Da et id _skal_ være unikt kan det engang imellem være lidt besværligt at få fat i flere af dem, men så kan man ved at udnytte enten class-attributten (.className) eller name-attributten som en gruppering !-)

(Med en getElementsByTagName og så teste for at de har name/className)

-- da class udnyttes til design-formål er den ikke altid praktisk at bruge til andet ...
Avatar billede roenving Novice
07. august 2003 - 16:47 #23
Nå ja, velbekomme '-)
Avatar billede elskermad.dk Nybegynder
07. august 2003 - 16:48 #24
okay mange tak for det, nu ved jeg da hvor jeg kan bruge det :D men du glemte et svar ;)
Avatar billede elskermad.dk Nybegynder
07. august 2003 - 17:01 #25
så mangler jeg kun phoenixv!

forresten hva synes I om siden?? I kan logge ind med test/test :D
Avatar billede elskermad.dk Nybegynder
07. august 2003 - 22:47 #26
phoenixv ? du får til imorgen ved middagstid til at komme med et svar :)
Avatar billede elskermad.dk Nybegynder
08. august 2003 - 18:02 #27
så tar jeg dine points så må du sige til hvis du vil ha dem en anden gang :D
Avatar billede roenving Novice
08. august 2003 - 18:07 #28
-- tak for points ;~}
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