Dropdownfeld mir Select

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Dropdownfeld mir Select

    Hallo zusammen,

    ich versuche gerade Ajax kennenzulernen. Als Übung habe ich mir ein Beispiel aus diesem Forum genommen und etwas angepaßt. Leider wird mein Ergebnis nur im Firefox angezeigt und nicht im IE. Kann mir vielleicht jemand weiterhelfen?


    Quellcode

    1. <html>
    2. <head>
    3. <title>AJAX PHP Beispiel mit Select
    4. </title>
    5. <script type="text/Javascript">
    6. <!--
    7. function sendRequest() {
    8. try {
    9. req = window.XMLHttpRequest?new XMLHttpRequest():
    10. new ActiveXObject("Microsoft.XMLHTTP");
    11. } catch (e) {
    12. //Kein AJAX Support
    13. }
    14. req.onreadystatechange = handleResponse;
    15. id = document.getElementById('dropdown').value;
    16. // alert(id);
    17. req.open('get', 'func.php?s='+ id);
    18. req.send(null);
    19. }
    20. function handleResponse() {
    21. if ((req.readyState == 4) && (req.status == 200)) {
    22. document.getElementById('dropdown2').innerHTML = req.responseText;
    23. }
    24. }
    25. function sendRequest2() {
    26. try {
    27. req = window.XMLHttpRequest?new XMLHttpRequest():
    28. new ActiveXObject("Microsoft.XMLHTTP");
    29. } catch (e) {
    30. //Kein AJAX Support
    31. }
    32. req.onreadystatechange = handleResponse2;
    33. id = document.getElementById('dropdown2').value;
    34. req.open('get', 'func2.php?s='+ id);
    35. req.send(null);
    36. }
    37. function handleResponse2() {
    38. if ((req.readyState == 4) && (req.status == 200)) {
    39. document.getElementById('targetDiv').innerHTML = req.responseText;
    40. }
    41. }
    42. //-->
    43. </script>
    44. </head>
    45. <body>
    46. <p />Wählen Sie einen Eintrag aus
    47. <p />
    48. <select id="dropdown" onChange="sendRequest()">
    49. <option value="">--- Bitte Auswählen ---
    50. </option>
    51. <?php include 'my_zugriff.php'; // Hier die Verbindung zur Datenbank herstellen
    52. $result = mysql_query("SELECT land_id, land_bezeichnung FROM `laender`; ");
    53. while($row = mysql_fetch_object($result))
    54. {
    55. echo '<option value="'.$row->land_id.'">'.$row->land_bezeichnung.'</option>';
    56. }
    57. ?>
    58. </select>
    59. <select id="dropdown2" onChange="sendRequest2()">
    60. <option value="">--- Bitte Auswählen --- </option>
    61. </select>
    62. <div id="targetDiv">
    63. </div>
    64. </body>
    65. </html>
    Alles anzeigen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von hanna ()

  • hab gerade kein IE da zum testen. Habe deinen Code aber mal aufgeräumt.
    • natürlich habe ich erstmal die redundanten Teile entfernt
    • onchange muss klein geschrieben werden.
    • id könnte vielleicht ein schlüsselwort sein.
    • sicherer ist es den wert mit this als parameter zu übergeben

    Quellcode

    1. <html>
    2. <head>
    3. <title>AJAX PHP Beispiel mit Select
    4. </title>
    5. <script type="text/Javascript">
    6. <!--
    7. function sendRequest(url, responseDiv) {
    8. var req;
    9. try {
    10. req = window.XMLHttpRequest?new XMLHttpRequest():
    11. new ActiveXObject("Microsoft.XMLHTTP");
    12. } catch (e) {
    13. //Kein AJAX Support
    14. }
    15. req.onreadystatechange = function() {
    16. if ((req.readyState == 4) && (req.status == 200)) {
    17. document.getElementById(responseDiv).innerHTML = req.responseText;
    18. }
    19. };
    20. req.open('get', url);
    21. req.send(null);
    22. }
    23. //-->
    24. </script>
    25. </head>
    26. <body>
    27. <p />Wählen Sie einen Eintrag aus
    28. <p />
    29. <select id="dropdown" onchange="sendRequest('func.php?s='+this.value, 'dropdown2')">
    30. <option value="">--- Bitte Auswählen ---</option>
    31. <?php
    32. include 'my_zugriff.php'; // Hier die Verbindung zur Datenbank herstellen
    33. $result = mysql_query("SELECT land_id, land_bezeichnung FROM `laender`; ");
    34. while($row = mysql_fetch_object($result)) {
    35. echo '<option value="'.$row->land_id.'">'.$row->land_bezeichnung.'</option>';
    36. }
    37. ?>
    38. </select>
    39. <select id="dropdown2" onChange="sendRequest('func2.php?s='+this.value, 'targetDiv')">
    40. <option value="">--- Bitte Auswählen --- </option>
    41. </select>
    42. <div id="targetDiv">
    43. </div>
    44. </body>
    45. </html>
    Alles anzeigen