Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ajax] Pusty ciąg znaków przekazany do getElementById()
Forum PHP.pl > Forum > XML, AJAX
zimekk
Mam kod z pewnej książki, ale coś nie chce działać. Konsola błędów pokazuje mi komunikat: "Pusty ciąg znaków przekazany do getElementById()."

  1. <head>
  2. <meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=utf-8">
  3. <script language="javascript">
  4. var XMLHttpRequestObject = false;
  5.  
  6. if(window.XMLHttpRequest) {
  7. XMLHttpRequestObject = new XMLHttpRequest();
  8. } else if(window.ActiveXObject) {
  9. XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
  10. }
  11. var options;
  12.  
  13. function getOptions1() {
  14. if(XMLHttpRequestObject) {
  15. XMLHttpRequestObject.open("GET", "options1.php", true);
  16.  
  17. XMLHttpRequestObject.onreadystatechange = function() {
  18. if(XMLHttpRequestObject.readyState == 4 &&
  19. XMLHttpRequestObject.status == 200) {
  20. var xmlDocument = XMLHttpRequestObject.responseXML;
  21. options = xmlDocument.getElementByTagName("option");
  22. listOptions();
  23. }
  24. }
  25. XMLHttpRequestObject.send(null);
  26. }
  27. }
  28.  
  29. function listOptions() {
  30. var loopIndex;
  31. var selectControl = document.getElementById('optionList');
  32.  
  33. for(loopIndex=0; loopIndex < options.length; loopIndex++) {
  34. selectControl.options[loopIndex] = new Option(option[loopIndex].firstChild.data);
  35. }
  36. }
  37. </script>
  38. </head>
  39. <body>
  40. <form>
  41. <select size="1" id="optionList" onchange="setOption()">
  42. <option>Wybierz schemat</option>
  43. </select>
  44. <input type="button" value="Użyj schematu kolorów 1" onclick="getOptions1()" />
  45. <input type="button" value="Użyj schematu kolorów 2" onclick="getOptions2()" />
  46. </form>
  47. <div id="targetDiv">
  48. <p>Przechwycone dane będą tu</p>
  49. </div>
  50. </body>
  51. </html>


a to plik options1.php
  1. <?php
  2.    header("Content-type: text/xml");
  3.    $options = array('red', 'green', 'blue');
  4.    echo '<?xml version="1.0"?>';
  5.    echo '<options>';
  6.    foreach($options as $wartosc) {
  7.        echo '<option>';
  8.        echo $wartosc;
  9.        echo '</option>';
  10.    }
  11.    echo '</options>';
  12. ?>
phpmens
smile.gif poczytaj o jQuery
ziqzaq
Cytat(phpmens @ 20.04.2010, 16:19:09 ) *
smile.gif poczytaj o jQuery

Bo jQuery uratuje go od literówek w kodzie? IMO lepiej jak się najpierw pouczy js bez frameworków.
Co do kodu to masz dwie literówki.
1. Linia 22: getElementsByTagName()
2. Linia 35: options

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.