Avatar billede kaptajnknas Nybegynder
28. december 2006 - 19:23 Der er 28 kommentarer og
1 løsning

Skjul formularer med java-script

Er det muligt at skjule formular felter som man ikke bruger med java-script og så få dem vist ved klik på et link?
Avatar billede allanrbo Nybegynder
28. december 2006 - 19:35 #1
Hej, ja, det er muligt. Se f.eks. her:

<a href="#" onClick="document.getElementById('test').style.visibility='visible'">Klik her</a><br/>
<div id="test" style="visibility: hidden;">Dette er en test: <input type="text"/></div>
Avatar billede simplus Nybegynder
28. december 2006 - 19:45 #2
Ja eller:

<script type="text/javascript">
  function toggle(lagNavn) {
    var obj = document.getElementById(lagNavn);
    if(obj)
      obj.style.display=(obj.offsetHeight==0?'block':'none');
  }
</script>

<a href="#show" onclick="toggle('link1');return false">Klik her</a><br>
<div id="link1" style="display:none; padding: 5px;">Jeg kan lide bananer</div>
Avatar billede allanrbo Nybegynder
28. december 2006 - 19:51 #3
ja, eller ovenstående kunne simplificeres til

<a href="#" onClick="x=document.getElementById('test').style; x.visibility='visible'; x.position='static'">Klik her</a><br/>
<div id="test" style="visibility: hidden; position: absolute;">Dette er en test: <input type="text"/></div>
Dette er teksten nedenfor

Det er dog nok en smagssag! Jeg vil se TV, godaften! ;-D
Avatar billede allanrbo Nybegynder
28. december 2006 - 19:52 #4
nåh hov, din udgave kan også fjerne igen! Det havde jeg ikke set. Smart! Godaften igen :-)
Avatar billede kaptajnknas Nybegynder
28. december 2006 - 19:53 #5
Det må ikke kunne fjernes igen.
Allanrbo >> dit link skal man klikke på 2 gange før der vises noget.
Avatar billede simplus Nybegynder
28. december 2006 - 19:54 #6
Ja det er nok en smagssag, jeg kan bedre lide at proppe <script> tagget med en masse javascript og holde <body> delen enkel.
Avatar billede kaptajnknas Nybegynder
28. december 2006 - 19:59 #7
eller simplus kan du lave så man ikke kan fjerne teksten igen?
Avatar billede simplus Nybegynder
28. december 2006 - 20:15 #8
Det er lidt bedre at bruge allanrbo's hvis ikke du vil kunne fjerne dem.

<a href="#" onClick="document.getElementById('test').style.visibility='visible'">Klik her</a><br/>
<div id="test" style="visibility: hidden;">Dette er en test: <input type="text"/></div>
Avatar billede kaptajnknas Nybegynder
28. december 2006 - 20:19 #9
Det er også helt fint. Tak
Avatar billede simplus Nybegynder
28. december 2006 - 20:22 #10
Husk lige at bede allan om at lægge et svar :-)
Avatar billede kaptajnknas Nybegynder
28. december 2006 - 20:24 #11
Ja allan et svar :-)
Men kan det også laves så smart at linket forsvinder når man har klikket på det?
Avatar billede simplus Nybegynder
28. december 2006 - 20:29 #12
Så skrap er jeg heller ikke til javascript, men hvis du er frisk på et php script kan jeg muligvis klare det?
Avatar billede cpufan Juniormester
28. december 2006 - 22:01 #13
<div id="lukker"><a href="#" onClick="document.getElementById('test').style.visibility='visible';this.style.visibility='hidden'">Klik her</a><br/></div>
<div id="test" style="visibility: hidden;">Dette er en test: <input type="text"/></div>
Avatar billede kaptajnknas Nybegynder
28. december 2006 - 23:09 #14
cpufan >> det fylder lige en anelse for meget, det kan vel ikke placeres i samme div? så det kun fylder det halve.
Avatar billede mclemens Nybegynder
28. december 2006 - 23:44 #15
<div><a href="#" onClick="p=this.parentNode;p.removeChild(this);p.firstChild.style.display='block';">Klik her</a><div style="display: none;">Dette er en test: <input type="text"></div>
</div>

eller måske med '' istedet for 'block'

<div><a href="#" onClick="p=this.parentNode;p.removeChild(this);p.firstChild.style.display='';">Klik her</a><div style="display: none;">Dette er en test: <input type="text"></div>
</div>


... Lidt kortere dog ikke meget ...
Avatar billede mclemens Nybegynder
28. december 2006 - 23:47 #16
- Afhængig af behovet er det nødvendigt med
id'et som i cpufan's eksempel ... men det kan
jo altsammen lægges ud i et eksternt javascript
og så skal det jo kun hentes en gang ...
Avatar billede kaptajnknas Nybegynder
28. december 2006 - 23:48 #17
hov, glemte lige en sidste ting, når man klikker på det link, så må den ikke sende brugeren til top#
Kan det undgås?
Avatar billede mclemens Nybegynder
28. december 2006 - 23:52 #18
<div><b onClick="p=this.parentNode;p.removeChild(this);p.firstChild.style.display='';">Klik her</b><div style="display: none;">Dette er en test: <input type="text"></div>
</div>

eller:

<div><b style="cursor:pointer;" onClick="p=this.parentNode;p.removeChild(this);p.firstChild.style.display='';">Klik her</b><div style="display: none;">Dette er en test: <input type="text"></div>
</div>
Avatar billede mclemens Nybegynder
29. december 2006 - 00:06 #19
Eller med getElementById som fra cpufan:

<b onclick="document.getElementById('test').style.display='';this.parentNode.removeChild(this);">Klik her</b><div id="test" style="display: none;">Dette er en test: <input type="text"></div>
Avatar billede mclemens Nybegynder
29. december 2006 - 00:07 #20
(evt. med style="cursor:pointer;" indsat i elementet)
Avatar billede kaptajnknas Nybegynder
29. december 2006 - 00:31 #21
jo men hvor i elementet?
Avatar billede mclemens Nybegynder
29. december 2006 - 01:37 #22
<b onclick="document.getElementById('test').style.display='';this.parentNode.removeChild(this);" style="cursor:pointer">Klik her</b><div id="test" style="display: none;">Dette er en test: <input type="text"></div>
Avatar billede kaptajnknas Nybegynder
29. december 2006 - 11:15 #23
Fint :)
Men nu ser jeg, at teksten ikke kan skrives normalt, hvis man sætter </b> ind virker scriptet ikke.
Avatar billede mclemens Nybegynder
29. december 2006 - 11:27 #24
"Men nu ser jeg, at teksten ikke kan skrives normalt,"
Du ændrer blot bold elementet ( <b ) til et span element f.eks.

<span onclick="document.getElementById('test').style.display='';this.parentNode.removeChild(this);" style="cursor:pointer">Klik her</span><div id="test" style="display: none;">Dette er en test: <input type="text"></div>

...

"hvis man sætter </b> ind virker scriptet ikke."
Der er </b> i 01:37:20 og den virker hos mig, hvad
er det der gør at </b> gør så den ikke virker ?
Avatar billede kaptajnknas Nybegynder
29. december 2006 - 14:05 #25
Ok >> mclemens så nu virker det :-)
I skal ha tak for hjælpen.
Avatar billede mclemens Nybegynder
29. december 2006 - 14:36 #26
Kaptajn Knas, det var kun en fin pudsning ;)

Allanrbo og Simplus kast lige svar ...
Avatar billede allanrbo Nybegynder
29. december 2006 - 16:40 #27
fisk :-)
Avatar billede simplus Nybegynder
29. december 2006 - 19:13 #28
jeg samler ikke på point tak :-)
Avatar billede kaptajnknas Nybegynder
29. december 2006 - 19:28 #29
Ok :) så lidt points til allanrbo.
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