Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> google suggest, Pobieranie danych z bazy POST -em
linuxoida
post
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 11.09.2006
Skąd: wawa

Ostrzeżenie: (0%)
-----


Hej mam pytanko. Ponieważ mam taki skrypt google suggest. Oczywiście działa kiedy dane z bazy zaciągane z bazy są GET -em, a postem juz nie. Cały myk polega na tym, że w bazie posiadam rekordy z polskimi znakami i dlatego muszę te dane pobrać za pomocą posta. Nie wiem jak go przerobic mimo że zastosowana zmiana w tym poniższym kodzie nic nie wnosi. wyskakuje mi komunikat za każdym razem, że "Błąd podczas dostępu do serwera! TypeError: resultsXml.item(i).firstChild is null". Czy ktoś z Was wie jak to rozwiązać? Z góry dzięki za pomoc pozdro
  1. /* URL do strony PHP, która poda podpowiedzi dla danego słowa kluczowego*/
  2. var getFunctionsUrl = "suggest.php";
  3. /* URL który pokaże wyniki wyświetlane dla wybranej podpowiedzi */
  4. var phpHelpUrl="http://www.php.net/manual/en/function.";
  5. /* słowo kluczowe, dla którego wywołujemy żądanie HTTP*/
  6. var httpRequestKeyword = "";
  7. /* ostatnie słowo kluczowe, dla którego wysyłano żądanie*/
  8. var userKeyword = "";
  9. /* ilość podpowiedzi pojawiających się dla danego słowa kluczowego*/
  10. var suggestions = 0;
  11. /* maksymalna liczba znaków wyświetlanych w podpowiedzi*/
  12. var suggestionMaxLength = 30;
  13. /* flaga, która wskazuje, czy użytkownik skorzystał ze strzałek w górę lub w dół podczas ostatniego zdarzenia keyup*/
  14. var isKeyUpDownPressed = false;
  15. /* ostatnia podpowiedź użyta do autouzupełniania słowa kluczowego*/
  16. var autocompletedKeyword = "";
  17. /* flaga, która określa, czy są wyniki dla obecnego słowa kluczowego*/
  18. var hasResults = false;
  19. /* identyfikator używany do odwołania procesu oceny (metoda Timeout)*/
  20. var timeoutId = -1;
  21. /* obecnie wybrana (myszą lub strzałkami) podpowiedź*/
  22. var position = -1;
  23. /* obiekt pamięci podręcznej, zawierający podpowiedzi pobrane dla różnych słów kluczowych*/
  24. var oCache = new Object();
  25. /* minimalna i maksymalna pozycja widocznych podpowiedzi*/
  26. var minVisiblePosition = 0;
  27. var maxVisiblePosition = 9;
  28. // wartośc true owoduje wyświetlenie szczegółowego komunikatu o błędzie
  29. var debugMode = true;
  30. /* obiekt XMLHttpRequest, stworzony do komunikowania się z serwerem*/
  31. var xmlHttpGetSuggestions = createXmlHttpRequestObject();
  32. /* funkcja init obsługuje zdarzenie onload*/
  33. window.onload = init;
  34. //tworzy instancję obiektu XMLHttpRequest
  35. function createXmlHttpRequestObject()
  36. {
  37. // przechowa odowłanie do obiektu XMLHttpRequest
  38. var xmlHttp;
  39. // powinno zadziałać dla wszystkich przeglądarem z wyjątkiem IE6 i starszych
  40. try
  41. {
  42. // próbuje utworzyć obiekt XMLHttpRequest
  43. xmlHttp = new XMLHttpRequest();
  44. }
  45. catch(e)
  46. {
  47. // zakładając, że IE6 lub starsza
  48. var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
  49. "MSXML2.XMLHTTP.5.0",
  50. "MSXML2.XMLHTTP.4.0",
  51. "MSXML2.XMLHTTP.3.0",
  52. "MSXML2.XMLHTTP",
  53. "Microsoft.XMLHTTP");
  54. // próbuje wszystkie wartości progId, aż jedna zadziała
  55. for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++)
  56. {
  57. try
  58. {
  59. // próbuje stworzyć obiekt XMLHttpRequest
  60. xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
  61. }
  62. catch (e) {}
  63. }
  64. }
  65. // zwraca utworzony obiekt lub wyświetla komunikat o błędzie
  66. if (!xmlHttp)
  67. alert("Błąd podczas tworzenia obiektu XMLHttpRequest.");
  68. else
  69. return xmlHttp;
  70. }
  71. /* funkcja inicjująca stronę*/
  72. function init()
  73. {
  74. // pobiera element kontrolujący słowo kluczowe podane na wejściu
  75. var oKeyword = document.getElementById("keyword");
  76. // zapobiega uruchomieniu domyślnego autouzupełniania przeglądarki
  77. oKeyword.setAttribute("autocomplete", "off");
  78. // czyści zawartość słowa kluczowego i ustawia kursor w okienku tekstowym
  79. oKeyword.value = "";
  80. oKeyword.focus();
  81. // czas, po którym sprawdza się, czy nastąpiły zmiany w polu tekstowym
  82. setTimeout("checkForChanges()", 500);
  83. }
  84. /* funkcja, która dodaje słowo kluczowe do tablicy wartości */
  85. function addToCache(keyword, values)
  86. {
  87. // twrzy nowy wpis w tablicy pamięci podręcznej
  88. oCache[keyword] = new Array();
  89. // dodaje nowe wartości słów kluczowych do pamięci
  90. for(i=0; i<values.length; i++)
  91. oCache[keyword][i] = values[i];
  92. }
  93. /* funkcja, która sprawdza, czy słowo kluczowe jest już w pamięci lub próbuje znaleźć najdłuższe przedrostki z pamięci do niego pasujące. Następnie dodaje je do pamięci, jako odpowiadające wpisanemu słowu kluczowemu */
  94. function checkCache(keyword)
  95. {
  96. // sprawdza, czy słowo kluczowe jest już w pamięci
  97. if(oCache[keyword])
  98. return true;
  99. // próbuje odnaleźć najdłuższy przedrostek
  100. for(i=keyword.length-2; i>=0; i--)
  101. {
  102. // uzupełnia bieżące słowo kluczowe
  103. var currentKeyword = keyword.substring(0, i+1);
  104. // sprawdza, czy bieżący przedrostek słowa kluczowego jest już w pamięci
  105. if(oCache[currentKeyword])
  106. {
  107. // jeśli jest w pamięci
  108. var cacheResults = oCache[currentKeyword];
  109. // wyniki odpowiadające bieżącemu słowu kluczowemu
  110. var keywordResults = new Array();
  111. var keywordResultsSize = 0;
  112. // próbuje odnaleźć wszystkie funkcje pasujące do bieżącego przedrostka
  113. for(j=0;j<cacheResults.length;j++)
  114. {
  115. if(cacheResults[j].indexOf(keyword) == 0)
  116. keywordResults[keywordResultsSize++] = cacheResults[j];
  117. }
  118. // dodaje wszystkie przedrostki słowa kluczowego do pamięci
  119. addToCache(keyword, keywordResults);
  120. return true;
  121. }
  122. }
  123. // nie znaleziono funkcji
  124. return false;
  125. }
  126.  
  127. /* początkuje żądanie HTTP, w celu pobrania podpowiedzi dla wpisanego słowa kluczowego */
  128. function getSuggestions(keyword)
  129. {
  130. /* kontynuuje, jeśli wpisano jakieś znaki i ostatnio wciśniętym klawiszem nie była jedna z pionowych strzałek*/
  131. if(keyword != "" && !isKeyUpDownPressed)
  132. {
  133. // sprawdza, czy słowo jest w pamięci
  134. isInCache = checkCache(keyword);
  135. // jeśli jest...
  136. if(isInCache == true)
  137. {
  138. // pobiera wyniki z pamięci
  139. httpRequestKeyword=keyword;
  140. userKeyword=keyword;
  141. // wyświetla wyniki
  142. displayResults(keyword, oCache[keyword]);
  143. }
  144. // jeśli go nie ma w pamięci, wysyła noże żądanie HTTP
  145. else
  146. {
  147. if(xmlHttpGetSuggestions)
  148. {
  149. try
  150. {
  151. /* jeśli obiekt XMLHttpRequest nie jest zajęty obsługą poprzedniego żądnia... */
  152. if (xmlHttpGetSuggestions.readyState == 4 ||
  153. xmlHttpGetSuggestions.readyState == 0)
  154. {
  155. httpRequestKeyword = keyword;
  156. userKeyword = keyword;
  157. var httpRequestKeywords = document.getElementById('keyword').value;
  158. xmlHttpGetSuggestions.open("POST", getFunctionsUrl, true);
  159. xmlHttpGetSuggestions.onreadystatechange = handleGettingSuggestions;
  160. xmlHttpGetSuggestions.send("keywords="+encodeURIComponent(httpRequestKeywords));
  161. }
  162. // jeśli jest zajęty...
  163. else
  164. {
  165. // pobiera słowo, które wpisał użytkownik
  166. userKeyword = keyword;
  167. // czyści poprzednio ustawione czasy
  168. if(timeoutId != -1)
  169. clearTimeout(timeoutId);
  170. // ponawia próbę po 0.5 sekundy
  171. timeoutId = setTimeout("getSuggestions(userKeyword);", 500);
  172. }
  173. }
  174. catch(e)
  175. {
  176. displayError("Nie mogę połączyć się z serwerem:\n" + e.toString());
  177. }
  178. }
  179. }
  180. }
  181. }
  182. /* przekształca wszystkie obiekty potomne węzła XML na tablicę*/
  183. function xmlToArray(resultsXml)
  184. {
  185. // początkuje zmienną resultsArray
  186. var resultsArray= new Array();
  187. // przeszukuje w pętli wszystkie węzły XML, pobierając ich zawartość
  188. for(i=0;i<resultsXml.length;i++)
  189. resultsArray[i]=resultsXml.item(i).firstChild.data;
  190. // zwraca zawartość węzła w postaci tablicy
  191. return resultsArray;
  192. }
  193. /* obsługuje odpowiedź serwera, zawierającą podpowiedzi dla żądanego słowa kluczowego */
  194. function handleGettingSuggestions()
  195. {
  196. //po ukończeniu procesu, decyduje co zrobić z otrzymanymi danymi
  197. if (xmlHttpGetSuggestions.readyState == 4)
  198. {
  199. // tylko jeśli status żądania HTTP jest "OK"
  200. if (xmlHttpGetSuggestions.status == 200)
  201. {
  202. try
  203. {
  204. // przetwarza odpowiedź serwera
  205. updateSuggestions();
  206. }
  207. catch(e)
  208. {
  209. // wyświetla komunikat o błędzie
  210. displayError(e.toString());
  211. }
  212. }
  213. else
  214. {
  215. displayError("Wystąpił problem podczas pobierania danych:\n" +
  216. xmlHttpGetSuggestions.statusText);
  217. }
  218. }
  219. }


  1. /* funkcja przetwarzająca odpowiedź serwera */
  2. function updateSuggestions()
  3. {
  4. // pobiera odpowiedź serwera
  5. var response = xmlHttpGetSuggestions.responseText;
  6. // błąd serwera?
  7. if (response.indexOf("ERRNO") >= 0 || response.indexOf("error:") >= 0
  8. || response.length == 0)
  9. throw(response.length == 0 ? "Void server response." : response);
  10. // pobiera element dokumentu
  11. response = xmlHttpGetSuggestions.responseXML.documentElement;
  12. // zakłada nową tablicę z nazwami funkcji
  13. nameArray = new Array();
  14. // sprawdza, czy są wyniki dla szukanego słowa kluczowego
  15. if(response.childNodes.length)
  16. {
  17. /* pobieramy nowe nazwy funkcji z pliku XML w postaci tablicy */
  18. nameArray= xmlToArray(response.getElementsByTagName("name"));
  19. }
  20. // sprawdza, czy są już poszukiwane inne słowa kluczowe
  21. if(httpRequestKeyword == userKeyword)
  22. {
  23. // wyświetla tablicę wyników
  24. displayResults(httpRequestKeyword, nameArray);
  25. }
  26. else
  27. {
  28. // dodaje wyniki do pamięci
  29. // nie trzeba wyświetlać wyników, ponieważ są już niepotrzebne
  30. addToCache(httpRequestKeyword, nameArray);
  31. }
  32. }
  33.  
  34. /* zapełnia listę podpowiedziami*/
  35. function displayResults(keyword, results_array)
  36. {
  37. // rozpoczyna tworzenie tabeli HTML, w której umieścimy wyniki
  38. var div = "<table>";
  39. // jeśli poszukiwane słowo kluczowe nie znajduje się w pamięci, dodaje je do niej
  40. if(!oCache[keyword] && keyword)
  41. addToCache(keyword, results_array);
  42. // jeśli tablica wyników jest pusta, wyświetla komunikat
  43. if(results_array.length == 0)
  44. {
  45. div += "<tr><td>Nie znaleziono dopasowania dla <strong>" + keyword +
  46. "</strong></td></tr>";
  47. // ustawia flagę braku wyników i zeruje licznik
  48. hasResults = false;
  49. suggestions = 0;
  50. }
  51. // wyświetla wyniki
  52. else
  53. {
  54. // przestawia indeks wyróżnionej podpowiedzi
  55. position = -1;
  56. // przestawia flagę określającą, czy wciśnięto którąś ze strzałek
  57. isKeyUpDownPressed = false;
  58. /* ustawia flagę informującą o dopasowania funkcji do podanego słowa kluczowego */
  59. hasResults = true;
  60. // pobiera z pamięci liczbę wyników
  61. suggestions = oCache[keyword].length;
  62. // przegląda w pętli wyniki i tworzy ich listę w HTML
  63. for (var i=0; i<oCache[keyword].length; i++)
  64. {
  65. // pobiera bieżącą nazwę funkcji
  66. crtFunction = oCache[keyword][i];
  67. // ustawia łańcuch odnośnika do dopasowanej funkcji na jej nazwę
  68. crtFunctionLink = crtFunction;
  69. // zastępuje znak _ w łańcuchu odnośnika znakiem -
  70. while(crtFunctionLink.indexOf("_") !=-1)
  71. crtFunctionLink = crtFunctionLink.replace("_","-");
  72. // zaczyna tworzyć rząd tabeli HTML, który zawiera odnośnik do oficjalnej strony z pomocą dotyczącą szukanej funkcji
  73. div += "<tr id='tr" + i + "' onclick='location.href=document.getElementById(\"a" +
  74. i + "\").href;' onmouseover='handleOnMouseOver(this);' " +
  75. "onmouseout='handleOnMouseOut(this);'>" + "<td align='left'><a id='a" + i +
  76. "' href='" + phpHelpUrl + crtFunctionLink + ".php";
  77. // sprawdza czy długość nazwy wybranej funkcji przekracza dopuszczalną liczbę znaków, które mogą być wyświetlone
  78. if(crtFunction.length <= suggestionMaxLength)
  79. {
  80. // pogrubia dopasowany przedrostek funkcji i słowa kluczowego
  81. div += "'><b>" + crtFunction.substring(0, httpRequestKeyword.length) + "</b>"
  82. div += crtFunction.substring(httpRequestKeyword.length, crtFunction.length) +
  83. "</a></td></tr>";
  84. }
  85. else
  86. {
  87. // sprawdza czy długość nazwy wybranego słowa kluczowego przekracza dopuszczalną liczbę znaków, które mogą być
  88. //wyświetlone
  89. if(httpRequestKeyword.length < suggestionMaxLength)
  90. {
  91. /* pogrubia dopasowany przedrostek funkcji i słowa kluczowego */
  92. div += "'><b>" + crtFunction.substring(0, httpRequestKeyword.length) + "</b>"
  93. div += crtFunction.substring(httpRequestKeyword.length, suggestionMaxLength) +
  94. "</a></td></tr>";
  95. }
  96. else
  97. {
  98. // pogrubia całą nazwę funkcji
  99. div += "'><b>" + crtFunction.substring(0,suggestionMaxLength) +
  100. "</b></td></tr>"
  101. }
  102. }
  103. }
  104. }
  105. // koniec tabeli HTML
  106. div += "</table>";
  107. // pobiera obiekty oSuggest i oScroll
  108. var oSuggest = document.getElementById("suggest");
  109. var oScroll = document.getElementById("scroll");
  110. // przewija na górę listy
  111. oScroll.scrollTop = 0;
  112. // aktualizuje i wyświetla listę podpowiedzi
  113. oSuggest.innerHTML = div;
  114. oScroll.style.visibility = "visible";
  115. // jeśli były jakieś wyniki uzupełniamy słowo kluczowe do wartości pierwszej funkcji
  116. if(results_array.length > 0)
  117. autocompleteKeyword();
  118. }
  119.  
  120. /* funkcja, która okresowo sprawdza, czy wprowadzono zmiany w oknie tekstowym */
  121. function checkForChanges()
  122. {
  123. // pobiera obiekt słowa kluczowego
  124. var keyword = document.getElementById("keyword").value;
  125. // sprawdza, czy słowo kluczowe jest puste
  126. if(keyword == "")
  127. {
  128. // ukrywa podpowiedzi
  129. hideSuggestions();
  130. // czyści słowo kluczowe
  131. userKeyword="";
  132. httpRequestKeyword="";
  133. }
  134. // ustawia licznik czasu dla nowego sprawdzenia
  135. setTimeout("checkForChanges()", 500);
  136. // sprawdza, czy wprowadzono zmiany
  137. if((userKeyword != keyword) && (autocompletedKeyword != keyword) &&
  138. (!isKeyUpDownPressed))
  139. // aktualizuje podpowiedź
  140. getSuggestions(keyword);
  141. }



  1. /* funkcja obsługująca wciśnięcie klawisza*/
  2. function handleKeyUp(e)
  3. {
  4. // pobiera zdarzenie
  5. e = (!e) ? window.event : e;
  6. // pobiera adresata zdarzenia
  7. target = (!e.target) ? e.srcElement : e.target;
  8. if (target.nodeType == 3)
  9. target = target.parentNode;
  10. // pobiera kod znaku naciśniętego klawisza
  11. code = (e.charCode) ? e.charCode :
  12. ((e.keyCode) ? e.keyCode :
  13. ((e.which) ? e.which : 0));
  14. // sprawdza, czy zdarzenie było typu keyup
  15. if (e.type == "keyup")
  16. {
  17. isKeyUpDownPressed =false;
  18. // sprawdza, czy pojawił się któryś z ważnych dla aplikacji znaków
  19. if ((code < 13 && code != 8) || (code >=14 && code < 32) ||
  20. (code >= 33 && code <= 46 && code != 38 && code != 40) ||
  21. (code >= 112 && code <= 123))
  22. {
  23. // ignoruje pozostałe znaki
  24. }
  25. else
  26. /* po wciśnięciu klawisza Enter, przechodzi do strony pomocy PHP dla danej funkcji */
  27. if(code == 13)
  28. {
  29. // sprawdza, czy jakaś funkcja jest właśnie wybrana
  30. if(position>=0)
  31. {
  32. location.href = document.getElementById("a" + position).href;
  33. }
  34. }
  35. else
  36. // po naciśnięciu strzałki w dół przechodzi do kolejnej podpowiedzi
  37. if(code == 40)
  38. {
  39. newTR=document.getElementById("tr"+(++position));
  40. oldTR=document.getElementById("tr"+(--position));
  41. // usuwa stary wybór
  42. if(position>=0 && position<suggestions-1)
  43. oldTR.className = "";
  44.  
  45. // wybiera nową podpowiedź i aktualizuje słowo kluczowe
  46. if(position < suggestions - 1)
  47. {
  48. newTR.className = "highlightrow";
  49. updateKeywordValue(newTR);
  50. position++;
  51. }
  52. e.cancelBubble = true;
  53. e.returnValue = false;
  54. isKeyUpDownPressed = true;
  55. // przewija podpowiedzi w dół, jeśli widoczne okno nie jest już aktualne
  56. if(position > maxVisiblePosition)
  57. {
  58. oScroll = document.getElementById("scroll");
  59. oScroll.scrollTop += 18;
  60. maxVisiblePosition += 1;
  61. minVisiblePosition += 1;
  62. }
  63. }
  64. else
  65. // naciśnięcie strzałki w góę przenosi nas do poprzedniej podpowiedzi
  66. if(code == 38)
  67. {
  68. newTR=document.getElementById("tr"+(--position));
  69. oldTR=document.getElementById("tr"+(++position));
  70. // usuwa stare zaznaczenie
  71. if(position>=0 && position <= suggestions - 1)
  72. {
  73. oldTR.className = "";
  74. }
  75. // zaznacza nową podpowiedź i aktualizuje słowo kluczowe
  76. if(position > 0)
  77. {
  78. newTR.className = "highlightrow";
  79. updateKeywordValue(newTR);
  80. position--;
  81. // przewija okno w górę, jeśli dane w nim są już nieaktualne
  82. if(position<minVisiblePosition)
  83. {
  84. oScroll = document.getElementById("scroll");
  85. oScroll.scrollTop -= 18;
  86. maxVisiblePosition -= 1;
  87. minVisiblePosition -= 1;
  88. }
  89. }
  90. else
  91. if(position == 0)
  92. position--;
  93. e.cancelBubble = true;
  94. e.returnValue = false;
  95. isKeyUpDownPressed = true;
  96. }
  97. }
  98. }
  99. /* funkcja uzupełniająca słowo kluczowe do warości wybranej podpowiedzi */
  100. function updateKeywordValue(oTr)
  101. {
  102. // pobiera obiekt słowa kluczowego
  103. var oKeyword = document.getElementById("keyword");
  104. // pobiera odnośnik do wybranej funkcji
  105. var crtLink = document.getElementById("a" +
  106. oTr.id.substring(2,oTr.id.length)).toString();
  107. // zastępuje znaki - znakami _ i pomija rozszerzenie .php
  108. crtLink = crtLink.replace("-", "_");
  109. crtLink = crtLink.substring(0, crtLink.length - 4);
  110. // aktualizuje słowo kluczowe
  111. oKeyword.value = unescape(crtLink.substring(phpHelpUrl.length, crtLink.length));
  112. }
  113. /* funkcja usuwająca styl podpowiedzi */
  114. function deselectAll()
  115. {
  116. for(i=0; i<suggestions; i++)
  117. {
  118. var oCrtTr = document.getElementById("tr" + i);
  119. oCrtTr.className = "";
  120. }
  121. }
  122. /* funkcja obsługująca pojawienie się kursora myszy w obszarze podpowiedzi */
  123. function handleOnMouseOver(oTr)
  124. {
  125. deselectAll();
  126. oTr.className = "highlightrow";
  127. position = oTr.id.substring(2, oTr.id.length);
  128. }
  129. /* funkcja obsługująca wyjście kursora myszy z obszaru podpowiedzi */
  130. function handleOnMouseOut(oTr)
  131. {
  132. oTr.className = "";
  133. position = -1;
  134. }
  135.  
  136. /* funkcja sterująca łańcuchem */
  137. function encode(uri)
  138. {
  139. if (encodeURIComponent)
  140. {
  141. return encodeURIComponent(uri);
  142. }
  143.  
  144. if (escape)
  145. {
  146. return escape(uri);
  147. }
  148. }
  149. /* funkcja ukrywająca warstwę z popdpowiedziami */
  150. function hideSuggestions()
  151. {
  152. var oScroll = document.getElementById("scroll");
  153. oScroll.style.visibility = "hidden";
  154. }
  155. /* funkcja, która wybiera obszar w obiekcie tekstowym, przekazywanym jako jej parametr */
  156. function selectRange(oText, start, length)
  157. {
  158. // sprawdz rodzaj przeglądarki - IE czy FF
  159. if (oText.createTextRange)
  160. {
  161. //IE
  162. var oRange = oText.createTextRange();
  163. oRange.moveStart("character", start);
  164. oRange.moveEnd("character", length - oText.value.length);
  165. oRange.select();
  166. }
  167. else
  168. // FF
  169. if (oText.setSelectionRange)
  170. {
  171. oText.setSelectionRange(start, length);
  172. }
  173. oText.focus();
  174. }
  175. /* funkcja uzupełniająca wpisane słowo kluczowe */
  176. function autocompleteKeyword()
  177. {
  178. //pobiera obikt słowa kluczowego
  179. var oKeyword = document.getElementById("keyword");
  180. // zeruje pozycję zaznaczonej podpowiedzi
  181. position=0;
  182. // usuwa zaznacznie ze wszystkich odpowiedzi
  183. deselectAll();
  184. // podświetla wybraną podpowiedź
  185. document.getElementById("tr0").className="highlightrow";
  186. // uzupełnia słowo kluczowe do podpowiedzi
  187. updateKeywordValue(document.getElementById("tr0"));
  188. // stosuje odpowiedni styl
  189. selectRange(oKeyword,httpRequestKeyword.length,oKeyword.value.length);
  190. // ustawia uzupełnione słowo jako wartość słowa kluczowego
  191. autocompletedKeyword=oKeyword.value;
  192. }
  193. /* funkcja wyświetlająca komunikat o błędzie */
  194. function displayError(message)
  195. {
  196. // wyświetla komunikat błędu - bardziej szczegółowy jeśli debugMode ma wartość true
  197. alert("Błąd podczas dostępu do serwera! " + (debugMode ? "\n" + message : ""));
  198. }


Ten post edytował linuxoida 24.08.2009, 19:13:08
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 06:56