Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: własny autocompleter + kodowanie
Forum PHP.pl > Forum > XML, AJAX > AJAX
gulgul
Mam problem - chciałbym zrobić własny, prosty autocompleter, jednak ugrzązłem
mam problemy z:
1. polskimi znakami
2. wybieraniem
3. ukrycie "histori" wpisywania fraz w przeglądarkach

Poniższy kod działa w taki sposób, że po wpisaniu litery wyświetla mi to co chcę, jednak co muszę wpisać by było (2)podświetlenie tego i możliwy wybór, (1)by wszystko działało wpisując polskie znaki, (3)by nie pokazywało mi się pole z historią wpisywanych słów z przeglądarki

Będę baaardzo wdzięczny za pomoc

Chciałbym zaznaczyć, że przeszukiwałem to forum i nie tylko, jednak mam spore problemy

Proszę o nie używanie funkcji iconv bo nie działa to u mnie na serv

plik lista1.php (pobierane są z tąd dane):
  1. <?php
  2.  
  3. include("dane.php");
  4. $fraza0=$_POST['miejsce'];
  5.  
  6.  
  7. $sql = mysql_connect($dbhost, $dbuser, $dbpw) or die(mysql_error());
  8. mysql_select_db($dbname) or die(mysql_error());
  9. mysql_query('SET NAMES latin2');
  10.  
  11. $zap1 = mysql_query("SELECT * FROM miejsca WHERE nazwa LIKE '%$fraza0%'")
  12. or die("Błšd w zapytaniu!a"); 
  13.  
  14. print("<ul>");
  15.  
  16. while($zap0=mysql_fetch_array($zap1)) {
  17. print( "<li>".$zap0["nazwa"]."</li>");
  18.  
  19. }
  20.  
  21. print( "</ul>");
  22.  
  23.  
  24. ?>



plik wys.php (główny kod):
  1. <?php
  2. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  3. <script type="text/javascript" language="javascript">
  4. var http_request = false;
  5.  
  6. function makePOSTRequest(url, parameters) {
  7. http_request = false;
  8. if (window.XMLHttpRequest) {
  9. http_request = new XMLHttpRequest();
  10. if (http_request.overrideMimeType) {
  11. http_request.overrideMimeType('text/html');
  12. }
  13. } else if (window.ActiveXObject) {
  14. try {
  15. http_request = new ActiveXObject("Msxml2.XMLHTTP");
  16. } catch (e) {
  17. try {
  18. http_request = new ActiveXObject("Microsoft.XMLHTTP");
  19. } catch (e) {}
  20. }
  21. }
  22.  
  23. http_request.onreadystatechange = function(){
  24. if (http_request.readyState == 1) {
  25. document.getElementById('lista').innerHTML = "Ladowanie...";
  26. }
  27. if (http_request.readyState == 4) {
  28. if (http_request.status == 200) {
  29. result = http_request.responseText;
  30. document.getElementById('lista').innerHTML = result;
  31. } else {
  32. document.getElementById('lista').innerHTML = "Wystąpil bląd!";
  33. }
  34. }
  35. };
  36.  
  37. http_request.open('POST', url, true);
  38. http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  39. http_request.send(parameters);
  40.  
  41.  
  42. }
  43.  
  44. function get() {
  45. var dane = "miejsce=" + encodeURIComponent( document.getElementById("miejscePoczatkowe").value );
  46. makePOSTRequest('lista1.php', dane);
  47. }
  48. </script>
  49. <style type="text/css">
  50. <!--
  51. div.autocomplete {
  52. position:absolute;
  53. background-color:white;
  54. border:1px solid #888;
  55. margin:0px;
  56. padding:0px;
  57. }
  58. div.autocomplete ul {
  59. list-style-type:none;
  60. margin:0px;
  61. padding:0px;
  62. }
  63. div.autocomplete ul li.selected { background-color: #D9F8FF;}
  64. div.autocomplete ul li {
  65. list-style-type:none;
  66. display:block;
  67. margin:0;
  68. padding:2px;
  69. cursor:pointer;
  70. }
  71. -->
  72. </style>
  73. <br>
  74. <br>
  75. <form>
  76. <input type="text" name="miejscePoczatkowe" id="miejscePoczatkowe" onkeyup="get();"/>
  77. </form>
  78. <div id="lista" class="autocomplete"></div>
  79. ?>
Whisller
Wtyczka dla mootoolsa http://digitarald.de/project/autocompleter/ oraz na temat wyłączenia podpowiadania http://wiki.mozilla.org/The_autocomplete_a...nts_using_XHTML ( autocomplete="off" ).
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.