login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Radiobutton laat inputveld wel of niet zien (Opgelost)

Offline jarah - 22/04/2008 13:27 (laatste wijziging 22/04/2008 13:28)
Avatar van jarahNieuw lid Ik ben bezig met een contact formulier. De bedoeling is dat je 2 radiobuttons heb: email & telefoon. Als je op email klikt verdwijnt de input van email en komt er een tekst voor in de plaats met 'u heeft voor telefoon gekozen'. Nu heb ik al een script, alleen die functioneert niet zoals het hoort. Hij werkt alleen maar 1 keer.
Javascript gedeelte
  1. function showrowe(x) {
  2. if (document.contact.email.value == "telefoon") {
  3. document.getElementById(x).style.visibility="visib le";
  4.  
  5. document.contact.email.style.visibility="hidde n";
  6. document.contact.email.style.display="none";
  7.  
  8. } else {
  9. document.contact.email.style.visibility="hidde n";
  10. document.contact.email.style.display="none";
  11. document.getElementById(x).style.display="table-row";
  12. }
  13. }
  14.  
  15. function showrowt(x) {
  16. if (document.contact.telnr.value == "email") {
  17. document.getElementById(x).style.visibility="visib le";
  18.  
  19. document.contact.telnr.style.visibility="hidde n";
  20. document.contact.telnr.style.display="none";
  21.  
  22. } else {
  23. document.contact.telnr.style.visibility="hidde n";
  24. document.contact.telnr.style.display="none";
  25. document.getElementById(x).style.display="table-row";
  26. }
  27. }


  1. <?php
  2. if(isset($fout['input']['email']))
  3. {
  4. ?>
  5. <input value="Vul hier uw email in ..." onClick="this.value=''" onFocus="setStyle(this.id)" name="email" type="text" id="email" <?php if(isset($fout['input']['email'])) { echo 'class="fout"'; } ?> />
  6. <?php
  7. }
  8. else
  9. {
  10. ?>
  11. <input value="<?php if(isset($email)) { echo $email; } ?>" onClick="this.value=''" onFocus="setStyle(this.id)" name="email" type="text" id="email" <?php if($email == "Vul hier uw email in ...") { echo 'class="fout"'; } ?>/>
  12. <?php
  13. }
  14. ?>
  15. <span id="ds">U heeft voor een telefoonnummer gekozen</span>
  16.  
  17. //code
  18.  
  19. <input class="none rdio" name="radiobutton" type="radio" value="naam" checked="checked" onclick="showrowt('ds');" /> E-mail <br />
  20. <input class="none rdio" name="radiobutton" type="radio" value="telefoon" onclick="showrowe('ds');"/> Telefoon


Hier zie he het werkend http://www.rsentertainment.nl/contact.php

8 antwoorden

Gesponsorde links
Offline Kr4nKz1n - 22/04/2008 13:49
Avatar van Kr4nKz1n Onbekend Hij werkt helemaal niet.
E-mail is standaard geselecteerd maar er staat Telefoon nr bla bla
Offline jarah - 22/04/2008 13:50
Avatar van jarah Nieuw lid Je moet even telefoon aanvinken.
Offline Kr4nKz1n - 22/04/2008 13:52 (laatste wijziging 22/04/2008 14:19)
Avatar van Kr4nKz1n Onbekend Ja, maar je hebt standaard telefoon er staan dus er verandert sowieso niks. Nadat ik telefoon heb gechecked en daarna E-mail gebeurt er idd niks.

Ik zal even wat voor je controleren.
  1. <script type='text/javascript'>
  2. function SetContact(contact)
  3. {
  4. types = new Array('telnr', 'email');
  5. for(iType = 0; iType < types.length; iType++)
  6. {
  7. if(types[iType] == contact)
  8. {
  9. document.getElementById(types[iType]).style.display = 'block';
  10. }
  11. else
  12. {
  13. document.getElementById(types[iType]).style.display = 'none';
  14. }
  15. }
  16. }
  17. </script>
  18.  
  19. <form name='formname'>
  20. <div id='telnr'>Telefoon nr etc.</div>
  21. <div id='email' style='display: none;'>Email nr etc.</div>
  22. <input type='radio' name='contact' value='telnr' checked='checked' onClick='SetContact("telnr")'> Telefoon nr<br>
  23. <input type='radio' name='contact' value='email' onClick='SetContact("email")'> Email<br>
  24. </form>


Oke dit werkt al. Dan heb je 2 divjes, ik ben niet zo goed in JS dus het duurt even. Ben het nog even netter voor je aan het maken. Maar dit kan ook, gewoon 2 verschillende divjes.

edit
Erg leuk maar hier heb je de juiste.
  1. <script type='text/javascript'>
  2. function SetContact(contact)
  3. {
  4. if(contact == 'telnr')
  5. {
  6. document.getElementById('contactname').innerHTML = 'Telefoon nummer';
  7. document.getElementById('contacttitle').innerHTML = 'Hier uw telefoonnummer';
  8. }
  9. else
  10. {
  11. document.getElementById('contactname').innerHTML = 'Email';
  12. document.getElementById('contacttitle').innerHTML = 'Hier uw email';
  13. }
  14.  
  15. }
  16. </script>
  17.  
  18. <form name='formname'>
  19. <div id='contactname'>Telefoon nummer</div>
  20. <div id='contacttitle'>Type uw telefoon nummer in</div>
  21. <input type='radio' name='contact' value='telnr' checked='checked' onClick='SetContact("telnr")'> Telefoon nr<br>
  22. <input type='radio' name='contact' value='email' onClick='SetContact("email")'> Email<br>
  23. </form>

Ik heb php als code gekozen voor de kleurtjes en de normale enters etc. etc. 
Offline jc2 - 22/04/2008 16:27 (laatste wijziging 22/04/2008 16:27)
Avatar van jc2 PHP interesse ik krijg momenteel de volgende foutmelding op jouw site:
Kan de eigenschap visibility niet opvragen. Ongeldig argument..

Dit komt waarschijnlijk vanwege het volgende:
  1. document.getElementById(x).style.visibility="visib[SPATIE]le";

i.p.v.
  1. document.getElementById(x).style.visibility="visible";
Offline jarah - 22/04/2008 16:53
Avatar van jarah Nieuw lid Ow ok, alleen dit is het ook niet.
Offline Kr4nKz1n - 22/04/2008 16:58
Avatar van Kr4nKz1n Onbekend Mijne dan?

Heb je dat al getest? Ik namelijk wel, en het werkte. In IE en FF.
Offline jarah - 22/04/2008 17:16 (laatste wijziging 24/04/2008 23:08)
Avatar van jarah Nieuw lid nee nog niet, maar dat ga ik zo ff doen. Als het lukt hoor je het wel van me.



edit:
Hij werkt! Alleen hoe krijg ik zeg maar als de radiobutton op e-mail staat en er achter telefoonnummer de tekst komt u heeft voor e-mail gekozen. Zie screenshot: Voorbeeld
Offline Kr4nKz1n - 25/04/2008 00:09
Avatar van Kr4nKz1n Onbekend Maar dat is niet wat je eerst zei.

  1. <script type='text/javascript'>
  2. function SetContact(contact)
  3. {
  4. if(contact == 'telnr')
  5. {
  6. document.getElementById('emailname').innerHTML = 'U heeft voor telefoon gekozen';
  7. document.getElementById('telnrname').innerHTML = '<input type="text">';
  8. }
  9. else
  10. {
  11. document.getElementById('emailname').innerHTML = '<input type="text">';
  12. document.getElementById('telnrname').innerHTML = 'U heeft voor email gekozen';
  13. }
  14.  
  15. }
  16. </script>
  17.  
  18. <form name="formname">
  19. Telefoon: <div id="telnrname"><input type="text" name="telnr"></div>
  20. Email: <div id="emailname">U heeft voor telefoon gekozen</div>
  21. <input type="radio" name="contact" value="telnr" checked="checked" onClick="SetContact('telnr')"> Telefoon nr<br>
  22. <input type="radio" name="contact" value="email" onClick="SetContact('email')"> Email<br>
  23. </form>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.225s