Avatar billede NielsErikP Mester
17. februar 2013 - 13:16 Der er 22 kommentarer og
1 løsning

Vis "<div>" ved onClick...

Hej...

Jeg sidder med noget kode, hvor jeg gerne vil have at en <div> skal være skjult ved load af siden.. Og så vises med informationerne,når man trykker på en <button> i en form...

Jeg har følgende kode :



<script type="text/javascript">
function visInfoDiv(elmId) {
    if(document.getElementById(elmId).style.visibility ='Visible') {
        document.getElementById(elmId).style.visibility ='hidden';
    }
    else {
        documnet.getElementById(elmId).style.visibility ='visible';
    }
};
   
</script>   

</head>

..........
..........
..........


<button id="knap" name="submit" type="submit"  value="Send">
        <img src="billeder/send1.png" onclick="visInfoDiv 
                ('information');"
            onmouseover="this.src='billeder/send1mo.png';" 
        onmouseout="this.src='billeder/send1.png';" ></button>   
                   
</form>
<div id="information" style="visibility:hidden;">
    <?php
    echo $info;
    ?>
</div>




Men det fungerer ikke rigtigt, div'en vises ikke... Jeg er ikke "den skarpeste kniv" i skuffen til javascript.

Håber der er en med lidt hjælp her.

På forhånd tak.
Avatar billede claes57 Ekspert
17. februar 2013 - 13:47 #1
ret til
function visInfoDiv(elmId) {
    if(document.getElementById(elmId).style.display='none') {
        document.getElementById(elmId).style.display ='';
    }
    else {
        documnet.getElementById(elmId).style.display ='none';
    }
};

og ret også <div id="information" style="display:none;">
Avatar billede olebole Juniormester
17. februar 2013 - 16:26 #2
<ole>

@NielsErikP: Lad os tage problemerne, efterhånden som de tårner sig op  *o)

Du kan bruge lighedstegn til to ting: Til at tildele en værdi med - og til at sammenligne med. Når man tildeler en værdi, bruger man ét lighedstegn. Sammenligner man to værdier, bruger man to lighedstegn:

var foo = "bar";
if (foo == bar) {
    alert("Betingelsen er opfyldt.");
}


Derudover skal selve handler'en sættes på knappen - ikke på billedet i knappen.

Sidst, men ikke mindst, er JavaScript hamrende xenofobisk og nægter at tale med alle, som ikke taler/skriver 'JavaScriptsk' [i]helt[/b] korrekt. Derfor holder denne 'sdavømåde' ikke:

documnet.getElementById(elmId).style.display ='none';

Hele koden kunne se sådan ud:

<script type="text/javascript">
function visInfoDiv(elmId) {
    if(document.getElementById(elmId).style.visibility=='visible') {
        document.getElementById(elmId).style.visibility ='hidden';
    }
    else {
        document.getElementById(elmId).style.visibility ='visible';
    }
};
   
</script>   

</head>

..........
..........
..........


<button id="knap" name="submit" type="submit"  value="Send" onclick="visInfoDiv('information');">
        <img src="billeder/send1.png" 
            onmouseover="this.src='billeder/send1mo.png';" 
            onmouseout="this.src='billeder/send1.png';"></button>   
                   
</form>
<div id="information" style="visibility:hidden;">
    <?php
    echo $info;
    ?>
</div>

/mvh
</bole>
Avatar billede olebole Juniormester
17. februar 2013 - 16:28 #3
Ups ... jeg manglede gåseøjne om bar ved sammenligningen i første eksempel  =)
Avatar billede olebole Juniormester
17. februar 2013 - 16:33 #4
Du kan desuden bruge to fremgangsmåder, når du ønsker at gemme et element:

1) visibility:hidden(visible) - som gemmer elementet, men lader dets plads være optaget.

2) display:none(block/inline) - som gemmer elementet helt og lader de efterfølgende elementer glide op på det skjulte elements plads.
Avatar billede NielsErikP Mester
17. februar 2013 - 21:26 #5
Hej..

#2 -#3 -#4: Tak for forklaringen, ole..
He.. he.. Ja, igen er det stavningen det er galt med, kan jeg se, må squ nok til at åbne øjnene næste gang :-)
Jeg kan godt se at claes57 har kommet med en løsning, dog med min stavefejl... Men min ide var netop udfra det du foortæller i #4 at vælge visibility for at den skulle blive ved med at optage pladsen i dokumentet. Mem så skal man jo lige lære at stave "Smiler". Og klart at onclick skal på knappen og ikke billedet.

Tak til jer begge.. Ole er det fint at jeg giver claes57 pointene??, da han jo egentligt er inde på noget af det rigtigte i #1 og jo ikke kunne vide jeg ønskede at bevare pladsen i dokumentet til min div.
Avatar billede NielsErikP Mester
17. februar 2013 - 21:48 #6
Hej igen...

Der sker dette, når min "<button>" trykkes, div bare lige blinker frem og forsvinder igen... Men det er jo min "action" attribut i formen, som kalder samme side...
Hmm... måske det kræver Php'en   i seperat fil.
Avatar billede olebole Juniormester
17. februar 2013 - 22:11 #7
Det er helt fint med pointene  =)

Når en form fyres af, skifter siden. Er der tale om en besked til brugeren? Så er det nok PHP, der skal skrive beskeden ud på siden, efter 'sit egentlige arbejde'  =)
Avatar billede NielsErikP Mester
17. februar 2013 - 22:24 #8
Hej...

Nej eller jow.. Det kan man godt sige der er. Det er en besked til mig selv. Har lavet en form til indsættelse i min MySql database i php.. Det javascript div'en skal bruges til er at vise det der er indsat, når det er indsat. Så bare lidt selv "Blær"..
Men problemet er den blinker kun lige frem ved #2.
Avatar billede olebole Juniormester
18. februar 2013 - 15:29 #9
Alt virker som forventet. Hvis du vil kunne nå at se, hvad der bliver skrevet ud, må du lade PHP skrive det ud på næste side (siden i din action attribut)
Avatar billede NielsErikP Mester
18. februar 2013 - 22:35 #10
Hej..

Nej, alt virker ikke som forventet!!
Forventningen var at siden med formularen, kalder siden med formularen altså samme side, men var der skrevet data ind og de var blevet indsat i databasen. Ville denne javascript kode, indsætte min div med de indsatte oplysninger.
Men det er åbenbart ikke tilfældet, så må jeg jo arbejde på php'en.. Så er der jo intet fornuftigt at bruge javascript til.

Tak for hjælpen.

claes57 smider du lige et svar, så er der point.
Avatar billede olebole Juniormester
18. februar 2013 - 22:51 #11
Hehe ... joda, submit af en form, skifter siden - så alt fungerer som forventet  *o)
Avatar billede olebole Juniormester
18. februar 2013 - 22:52 #12
Hvis det bare er test for din egen skyld, mens du udvikler, kan du lave det med en alert i stedet
Avatar billede NielsErikP Mester
19. februar 2013 - 00:30 #13
Hej..

Jo jow.. den har jeg fat i pga :



<div id="information" style="visibility:hidden;"  >



blinker den bare frem og forsvinder igen, da siden kaldes igen.

Ja.. jeg kunne selvfølgelig bare bruge alert, men jeg ville jo gerne have fat i den rigtige ende af det javascript,, også for at lære.. "hvad er livet uden lærdom" ??
Men ligeledes fordi denne form senere kan genbruges, når jeg har fået lavet et admin logind på min hjemmeside, sådan at, når jeg selv logger ind, kan jeg via denne formular indsætte de ting i DB'en, som jeg vil vise.

"So you see.. my deck of cards.. serves me not only as a alminak.. but also a prayer book" : Tex Ritter .
Avatar billede olebole Juniormester
19. februar 2013 - 00:50 #14
Hvis du skal vise noget i tidsrummet fra submitknappen klikkes, til databasen er opdateret, kan du bruge Ajax. Så reloades siden ikke. Lær noget mere JS, før du kaster dig ud i Ajax  =)

"Has anyone seen my jersey?"
- Ole Ritter
  *D
Avatar billede claes57 Ekspert
24. februar 2013 - 10:06 #15
bare luk uden mig - hvis ikke olebole vil have point, så luk selv
Avatar billede NielsErikP Mester
24. februar 2013 - 12:22 #16
Hej..

Jamen.. Det tror jeg ikke olebole vil....
Så jeg lukker selv, tak til jer begge :-)
Avatar billede NielsErikP Mester
24. februar 2013 - 12:23 #17
.
Avatar billede olebole Juniormester
24. februar 2013 - 14:41 #18
*o)
Avatar billede NielsErikP Mester
24. februar 2013 - 15:46 #19
Hej...

#18: der er da ik noget jeg har misforstået vel, ole?? Du vil da ikke have noget for det eller??
Avatar billede olebole Juniormester
24. februar 2013 - 15:52 #20
Nejnej, overhovedet ikke ... det var bare et 'Du-har-fuldstændig-ret-wink', jeg kom med  =)
Avatar billede NielsErikP Mester
24. februar 2013 - 16:00 #21
Hej..

Nå.. så er jeg mere rolig ;-)
Avatar billede olebole Juniormester
24. februar 2013 - 17:05 #22
Jeg tvivler overordentlig meget på, jeg nogensinde vender tilbage til point. Livet (eller i hvertfald E-delen af det) er ligesom lettere uden  =)

Jeg kan ikke sige det med sikkerhed, men jeg tror f.eks. ikke, ungerne slås om størrelsen på bøfferne i en vagetarfamilie  *D
Avatar billede NielsErikP Mester
24. februar 2013 - 21:31 #23
Hej..

#22: Nej... og jeg kan ikke sige det med sikkerhed, men jeg tror Ekspertens brugere altid vælger en udbyder med en billig løsning.. Kan det kaldes monopol ?? ;-)
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 23:37 Poe strøm Af lurup i LAN/WAN
I går 14:46 GIF-EDITOR Af snestrup2000 i Billedbehandling
I går 14:03 Logge ind Af Bob i PC
I går 12:12 2 skærme - 1 virker - den anden siger No signal Af eksmojo i Skærme
I går 10:33 openvpn projekt Af dcedata1977 i Windows