login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > JavaScript

interactief formulier javascript (Opgelost)

kaspar – 25/08/2010 20:14 (Laatst gewijzigd op 25/08/2010 20:18)
hallo, volgende code:

  1. <head>
  2. <title>Knome Electronics</title>
  3. </head>
  4. <body>
  5. <table id="grand_table2">
  6. <TR>
  7. <TD vAlign=top align=left>
  8. <TABLE cellSpacing="0" cellPadding="0" width="750" align="center">
  9. <TR>
  10. <TD width="360">
  11. <FORM action="bestellen2.php" method="POST">
  12. <LEGEND>Product bestellen</LEGEND>
  13. <SELECT name="product" onChange="javascript: overigen(document.getElementById('product').value);">
  14. <?php
  15. $db = mysql_connect("xxx","xxx", "xxx");
  16. mysql_select_db("xxx",$db) or die ("Kan niet verbinden.");
  17.  
  18. $sql = "SELECT * FROM `artikel` ORDER BY naam ASC";
  19. $result = mysql_query($sql);
  20. $rows = mysql_num_rows($result);
  21. while ($row = mysql_fetch_array($result)) {
  22. echo '<option value="'.$row["naam"].'" name="'.$row["naam"].'">'.$row["naam"].'</option>';
  23. }
  24. ?>
  25. </SELECT> *<BR>
  26. <div id="overigen" style="display:none"><textarea cols="65" rows="5" name="omschrijving">Omschrijf hier uw aanvraag.</textarea> *<br></div>
  27. <INPUT type="text" name="initials" value="uw initialen" OnClick="initials.value=''"> *<BR>
  28. <INPUT type="text" name="client" value="uw naam" OnClick="client.value=''"> *<BR>
  29. <INPUT type="text" name="mail" value="uw e-mail" OnClick="mail.value=''"> *<BR>
  30. <INPUT type="text" name="telephone" value="uw telefoonnummer" OnClick="telephone.value=''"><BR>
  31. <INPUT type="submit" value="verstuur" id="submit"><BR><BR>
  32. * = verplicht
  33. <script language="Javascript">
  34. function overigen(value)
  35. {
  36. If (value=="Overigen")
  37. {
  38. document.getElementById(overigen).style.display = 'block';
  39. }
  40. }
  41. </script>
  42. </FONT>
  43. </FORM>
  44. </TD>
  45. </TR>
  46. </TABLE>
  47. </TD>
  48. </TR>
  49. </body>
  50. </html>



de bedoeling is dat als je overigen selecteerd er een textarea verschijnt, maar wat er nu gebeurt: als je de select verandert, gebeurt er niks - waarom, en hoe verhelp ik het?

(bekijk het op http://electronics.knome.nl/bestellen.php)

4 antwoorden

Gesponsorde links
Daisycon - Verdien geld met uw website

Martijn – 25/08/2010 20:25
de functie wordt aangeroepen en later op de pagina pas 'gemaakt', dat kan javascript niet

lemoinet – 25/08/2010 20:42
Martijn, nu dacht ik toch dat je slimmer was. Het maakt helemaal niet uit waar de javascript code staat. De fout dat het niet werkt is omdat het hele script vol fouten zit.

Fout 1: je zoekt naar het element met id product. Maar dit bestaat niet, er bestaat alleen een element met name product.

Fout 2: aanhalingstekens vergeten om de textarea te laten zien

Fout 3: HTML code is van de jaren 80:
- alles in lowercase
- attribute language bij script bestaat niet
- eind tag font maar geen begin tag

Hier een aangepaste versie
  1. <form action="bestellen2.php" method="POST">
  2. <legend>Product bestellen</legend>
  3. <select name="product" onchange="javascript: overigen(this.options[this.selectedIndex].value);">
  4. <option value="10Watt versterker" name="10Watt versterker">10Watt versterker</option>
  5. <option value="1Watt versterker" name="1Watt versterker">1Watt versterker</option>
  6. <option value="Computer beveiligingsslot" name="Computer beveiligingsslot">Computer
  7. beveiligingsslot</option>
  8. <option value="Computer timer" name="Computer timer">Computer timer</option>
  9. <option value="Overigen" name="Overigen">Overigen</option>
  10. <option value="Regelbare voeding" name="Regelbare voeding">Regelbare voeding</option>
  11. </select>
  12. *<br>
  13. <div id="overigen" style="display: none;">
  14. <textarea cols="65" rows="5" name="omschrijving">Omschrijf hier uw aanvraag.</textarea>
  15. *<br>
  16. </div>
  17. <input type="text" name="initials" value="uw initialen" onclick="initials.value=''">
  18. *<br>
  19. <input type="text" name="client" value="uw naam" onclick="client.value=''">
  20. *<br>
  21. <input type="text" name="mail" value="uw e-mail" onclick="mail.value=''">
  22. *<br>
  23. <input type="text" name="telephone" value="uw telefoonnummer" onclick="telephone.value=''"><br>
  24. <input type="submit" value="verstuur" id="submit"><br>
  25. <br>
  26. * = verplicht
  27.  
  28. <script type="text/javascript">
  29. function overigen(value) {
  30. if (value == "Overigen") {
  31. document.getElementById('overigen').style.display = 'block';
  32. }
  33. }
  34. </script>
  35. </form>


Martijn – 25/08/2010 21:22
lem, ik ben bezig met een spel wat stampvol js staat, en voor IE maakt t weldegelijk uit iif voor eventlisteners en volgens JSlint validatie 

kaspar – 26/08/2010 15:13 (Laatst gewijzigd op 26/08/2010 15:21)
dank je, lemoinet, maar het werkte nog steeds niet...

ik heb zelf de laatste fout gevonden: If ipv if...

Gesponsorde links

Dit onderwerp is gesloten.
Actieve forumberichten:

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.066s