Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: undefined w liście wybierania
Forum PHP.pl > Forum > XML, AJAX
neo1986kk
Po wybraniu schematu wybierania w okienku <option> pojawiają się napisy undefinef a powinno być dla pierwszego schematu red,green,blu...
kolory się zmieniają zgodnie ze skryptem, chodzi o samo wyświetlanie. oto kod:
  1. <body>
  2. <script language="javascript">
  3. if (window.XMLHttpRequest)
  4. {
  5. XMLHttpRequestObject = new XMLHttpRequest(); }
  6. else if (window.ActiveXObject)
  7. {
  8. XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); }
  9. var options;
  10. function getOptions1()
  11. {
  12. if (XMLHttpRequestObject) {
  13. XMLHttpRequestObject.open ("GET",
  14. "option1.php", true);
  15. XMLHttpRequestObject.onreadystatechange =function()
  16. {
  17. if (XMLHttpRequestObject.readyState == 4 &&
  18. XMLHttpRequestObject.status ==200) {
  19. var xmlDocument = XMLHttpRequestObject.responseXML;
  20. options = xmlDocument.getElementsByTagName("option");
  21. listOptions();
  22. }
  23. }
  24. XMLHttpRequestObject.send(null);
  25. }
  26. }
  27. function getOptions2()
  28. {
  29. if (XMLHttpRequestObject) {
  30. XMLHttpRequestObject.open ("GET",
  31. "option2.php", true);
  32. XMLHttpRequestObject.onreadystatechange =function()
  33. {
  34. if (XMLHttpRequestObject.readyState == 4 &&
  35. XMLHttpRequestObject.status ==200) {
  36. var xmlDocument = XMLHttpRequestObject.responseXML;
  37. options = xmlDocument.getElementsByTagName("option");
  38. listOptions();
  39. }
  40. }
  41. XMLHttpRequestObject.send(null);
  42. }
  43. }
  44. function listOptions ()
  45. {
  46. var loopIndex;
  47. var selectControl = document.getElementById('optionList');
  48. for (loopIndex = 0; loopIndex < options.length; loopIndex++)
  49. {
  50. selectControl.options[loopIndex] = new
  51. Option(options[loopIndex].firstChild.data0);
  52. }
  53. }
  54. function setOption ()
  55. {
  56. document.getElementById('targetDiv').style.color =
  57. options[document.getElementById
  58. ('optionList').selectedIndex].firstChild.data;
  59. }
  60. </script>
  61. <h1>Użycie Ajaks i XML</h1>
  62. <form>
  63. <select size="1" id="optionList"
  64. onchange="setOption()">
  65. <option>Wybierz schemat</option>
  66. </select>
  67. <input type = "button" value= "Użyj schematu kolorów 1"
  68. onclick = "getOptions1()">
  69. <input type = "button" value= "Użyj schematu kolorów 2"
  70. onclick = "getOptions2()">
  71. </form>
  72. <div id="targetDiv" width=100 height=100>Kolor tego tekstu </div>
  73. </body>
Fifi209
Najpierw zapytam po co robisz dwie prawie identyczne funkcje? Można to upchnąć w jednej.

neo1986kk
2 funkcje robie dlatego, że się uczę, z Ajaxem mam doczynienia 2 dzień i testuję sobie przykłady z książki, w której jest masa błędów, staram się sam dochodzić do tych błędów, ale z tym juz nie potrafię sobie poradzić dlatego proszę o pomoc. Pozdrawiam

P.S. Teraz, dzięki Tobie już wiem że można to upchnąć w jednej:)
Fifi209
Może się mylę, ale aby zabierać się za Ajax'a należy znać podstawy(minimum) Javascript.

Podsumuję to tak:
Uczyłem się Ajaxa z książki, czytałem te masy kodów, starałem się wyłapywać błędy i je poprawiać, gdy dłużej będziesz walczył z Ajaxem w "czystej" postaci, dowiesz się, że to są katusze np. dostosowywanie kodu do różnych przeglądarek. Dlatego doradzę Ci na wejściu w tą technologię, użyj jakiejś biblioteki, osobiście uczyłem się na jQuery i tak się przyzwyczaiłem, że bym jej nie zmienił na żadnego mintAjax czy MooTools.
neo1986kk
No ja bardzo chętnie nauczę się jquery i tez tak naprawdę chciałbym zająć się tylko tym, jednak nie mam pojęcia skąd wziąć źródła? czy z internetu? Są jakieś kursy jquery?

A jeszcze mam takie pytanie czym się różni Ajax od GWT?

No i tak na marginesie... Czy ktoś zna odpowiedź na moje pytanie w temacie?tongue.gif
Fifi209
http://ferrante.pl/page/3/?s=jquery

Źródła jquery z ich strony winksmiley.jpg
taktu
Praktycznie nikt nie pisze już obsługi AJAX w czystym JS, to zwykła strata czasu. Tak jak przedmówca polecam jQuery.

Odnośnie błędu to możesz sprawdzić erratę.
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.