login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Divs met daarin antwoordformulier verbergen/tonen (Opgelost)

Offline Ijspegel - 19/12/2007 15:20
Avatar van IjspegelNieuw lid Op mijn website heb ik een overzicht van vragen staan die door bezoekers zijn gesteld. Onder dit overzicht staat een formulier waar mensen dus daadwerkelijk een vraag kunnen stellen.

Nu wil ik de mogelijkheid bieden dat andere bezoekers deze vragen kunnen beantwoorden. Onder elke vraag heb ik daarom nu een formulier geplaatst waarmee mensen de vraag kunnen beantwoorden. Er staan dan echter wel erg veel formulieren in beeld, dus ik wil dat ze in eerste instantie allemaal standaard verborgen zijn. Als er vervolgens bij een vraag op "Geef antwoord" wordt geklikt, dan moet het betreffende antwoordformulier dus getoond worden. Er mag maximaal altijd maar 1 antwoordformulier getoond worden.

Zou iemand mij misschien kunnen vertellen hoe ik dit moet doen? Ik had al wat dingen opgezocht en kwam uit bij dingen als document.getElementById('antwoord').style.display = 'block';
document.getElementById('vraag').style.display = 'none';
, maar heb verder echt helaas geen idee hoe dit moet.

Alvast bedankt! :-)

7 antwoorden

Gesponsorde links
Offline Koen - 19/12/2007 15:37
Avatar van Koen PHP expert
  1. var divopen = false;
  2. function toggleDiv(divid) {
  3. if(divopen == false) {
  4. if(document.getElementById(divid).style.display == 'none') {
  5. document.getElementById(divid).style.display = 'block';
  6. divopen = true;
  7. }
  8. } else {
  9. if(document.getElementById(divid).style.display == 'block') {
  10. document.getElementById(divid).style.display = 'none';
  11. divopen = false;
  12. }
  13. }
  14. }

Aanroepen:
  1. <a href="#" onclick="togglediv('div1')">In/Uitklappen</a>
  2. <div id="div1" style="display: none;">
  3. ...
  4. </form>
  5. </div>

Veel plezier 
Offline Ijspegel - 19/12/2007 16:04 (laatste wijziging 19/12/2007 16:05)
Avatar van Ijspegel Nieuw lid Dank je wel! Ik had er ook wel plezier van, maar het werkt nog niet helemaal zoals het hoort. 

Als ik namelijk 2 formulieren heb en de eerste daarvan open heb, dan kan ik de tweede niet openen zolang de eerste nog open is. Het moet echter zo worden dat zodra ik op de tweede link klik, dat het tweede formulier getoond wordt en dat het eerste formulier automatisch gesloten wordt. Zou je dat misschien ook nog kunnen maken? :-)

Ook nog een ander vraagje trouwens. Het zou ook nog mogelijk moeten zijn dat als het formulier gesloten is er alleen show form staat en zodra het formulier open is dat er hide form staat. Ik heb me rot gezocht, maar kan die js cod daarvoor helaas niet vinden. Weet jij deze toevallig ook?
Offline Koen - 19/12/2007 17:14
Avatar van Koen PHP expert
  1. var divopen = false;
  2. function toggleDiv(divid) {
  3. if(divopen == false) {
  4. if(document.getElementById(divid).style.display == 'none') {
  5. document.getElementById(divid).style.display = 'block';
  6. document.getElementById('link'+divid).innerHTML = 'Inklappen';
  7. divopen = true;
  8. opendiv = divid;
  9. }
  10. } else {
  11.  
  12. if(document.getElementById(divid).style.display == 'none') {
  13. document.getElementById(divid).style.display = 'block';
  14. document.getElementById(opendiv).style.display = 'none';
  15. document.getElementById('link'+opendiv).innerHTML = 'Uitklappen';
  16. document.getElementById('link'+divid).innerHTML = 'Inklappen';
  17. divopen = true;
  18. opendiv = divid;
  19. } else {
  20. document.getElementById(divid).style.display = 'none';
  21. document.getElementById(opendiv).style.display = 'none';
  22. document.getElementById('link'+divid).innerHTML = 'Uitklappen';
  23. divopen = false;
  24. }
  25. }
  26. }

  1. <a href="#" onclick="toggleDiv('div1')" id="linkdiv1">Uitklappen</a><br />
  2. <div id="div1" style="display: none;">
  3. </div><br />
  4. <a href="#" onclick="toggleDiv('div2')" id="linkdiv2">Uitklappen</a><br />
  5. <div id="div2" style="display: none;">
  6. </div><br />
  7. <a href="#" onclick="toggleDiv('div3')" id="linkdiv3">Uitklappen</a><br />
  8. <div id="div3" style="display: none;">
  9. </div><br />
  10. <a href="#" onclick="toggleDiv('div4')" id="linkdiv4">Uitklappen</a><br />
  11. <div id="div4" style="display: none;">
  12. </div><br />

Alsjeblieft 
Offline Ijspegel - 19/12/2007 17:25
Avatar van Ijspegel Nieuw lid Ik heb het even snel getest en het werkt perfect! Super bedankt hiervoor!  

Ik ga het vanavond of morgen in mijn eigen script proberen te verwerken. Mocht het niet lukken, dan hoor je nog van me. 
Offline Koen - 19/12/2007 17:25
Avatar van Koen PHP expert Oké!
Offline Ijspegel - 19/12/2007 22:19
Avatar van Ijspegel Nieuw lid Ik heb alleen toch nog een vraagje. Het werk in principe goed, maar als ik nu op een van de links klik, dan ga ik wel helemaal naar de bovenkant van de pagina. Dit moet juist nie. Als ik dus op de link klik, dan moet ik gewoon op dezelfde hoogte blijven en dus niet helemaal naar de bovenkant van de pagina gaan.

Weet jij hoe dit te verhelpen is?
Offline Koen - 20/12/2007 18:47
Avatar van Koen PHP expert kijk:
  1. <a href="#linkdiv1" onclick="toggleDiv('div1')" id="linkdiv1" name="linkdiv1">Uitklappen</a><br />
  2. <div id="div1" style="display: none;">
  3. </div><br />
  4. <a href="#linkdiv2" onclick="toggleDiv('div2')" id="linkdiv2" name="linkdiv2">Uitklappen</a><br />
  5. <div id="div2" style="display: none;">
  6. </div><br />
  7. <a href="#linkdiv3" onclick="toggleDiv('div3')" id="linkdiv3" name="linkdiv3">Uitklappen</a><br />
  8. <div id="div3" style="display: none;">
  9. </div><br />
  10. <a href="#linkdiv4" onclick="toggleDiv('div4')" id="linkdiv4" name="linkdiv4">Uitklappen</a><br />
  11. <div id="div4" style="display: none;">
  12. </div><br />

Dit moet werken.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.186s