login  Naam:   Wachtwoord: 
Registreer je!
 Forum

interactief formulier javascript (Opgelost)

Offline kaspar - 25/08/2010 20:14 (laatste wijziging 25/08/2010 20:18)
Avatar van kasparNieuw lid 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
Offline Martijn - 25/08/2010 20:25
Avatar van Martijn Crew PHP de functie wordt aangeroepen en later op de pagina pas 'gemaakt', dat kan javascript niet
Offline lemoinet - 25/08/2010 20:42
Avatar van lemoinet PHP gevorderde 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>
Bedankt door: kaspar
Offline Martijn - 25/08/2010 21:22
Avatar van Martijn Crew PHP 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 
Offline kaspar - 26/08/2010 15:13 (laatste wijziging 26/08/2010 15:21)
Avatar van kaspar Nieuw lid 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-2024 Sitemasters.be - Regels - Laadtijd: 0.191s