Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][MySQL][PHP] dynamiczny input zalezny od pola select
Forum PHP.pl > Forum > Przedszkole
hubson87
Witam, potrzebuje zrobic cos takiego. Czytalem troche o tym ale nie znalazlem odpowiedniego rozwiazania a na javasript nie znam sie za bardzo.

1. Wybieram sobie z pola select w formularzu jakis artykul.
2. Teraz wybrana wartosc selecta ma sluzyc jako warunek w zapytaniu tzn
  1. SELECT cos tam FROM cos tam WHERE warunek = "wartosc selecta"

3. Nastepnie wewnatrz tego samego formularza chce wynik zapytania wpisac w input

W skrocie dynamiczne wypelnianie input na podstawie wartosci z pola select odwolujacego sie do bazy. Najlepiej jakbym mogl prosic o jakis przyklad w miare podobny do mojego problemu.
Z góry dzięki.
CuteOne
jQuery [ajax] + poczytaj o evencie onchange
hubson87
Wiem co to onChange ale naprawde bylbym wdzieczny za jakis przyklad. Głównie jak to wysłać do zapytania i odebrać z powrotem.
jaslanin
index.php:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  6. <title>Untitled Document</title>
  7. </head>
  8.  
  9. <body>
  10. <script type="text/javascript">
  11. $(document).ready(function() {
  12.  
  13. $('select.selectField').change(function() {
  14. $.getJSON('ajax.php', {option: $(this).val()}, function(data) {
  15. $('input.inputField').val(data.inputValue);
  16.  
  17. });
  18. });
  19.  
  20. });
  21. </script>
  22.  
  23.  
  24. <select class="selectField">
  25. <option>Wybierz</option>
  26. <option value="opcja 1">opcja 1</option>
  27. <option value="opcja 2">opcja 2</option>
  28. <option value="opcja 3">opcja 3</option>
  29. </select>
  30.  
  31. <input style="width: 300px;" class="inputField" type="text" />
  32.  
  33. </body>
  34. </html>


ajax.php :

  1. <?
  2.  
  3. $option = $_GET['option'];
  4.  
  5. $a = new stdClass();
  6. $a->inputValue = "selected option: $option";
  7.  
  8. echo json_encode($a);
  9.  
  10. ?>
hubson87
O coś takiego właśnie mi chodziło teraz to jakoś zmienie na swoje potrzeby. Dzięki
sakul55
a dziala Ci ten przyklad? chcialem zrobic cos podobnego, ale to mi nie dziala sad.gif nie reaguje w zaden sposob przy zmianach. ma ktos moze jakis podobny?
jaslanin
Działa. Na pewno masz wgrane oba pliki (obok siebie) na serwer z obsługą PHP?

Jeżeli tak i nie działa, to zobacz co masz napisane w konsoli JS, potem dodatkiem firebug do FF sprawdź co się dzieje z żądaniami XHR. Czy w odpowiedzi jest poprawna odpowiedź JSON, czy żądanie nie zgłasza błędu 404.
sakul55
w konsoli nie ma zadnych bledow

w Firebugu znalazlem cos takiego, ale nie wiem czy o to chodzi:

Kod
xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}}

Kod
x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType)


inne przyklady z AJAXa mi dzialaja
hubson87
Mi pomoglo uaktualnienie wersji php bo json_encode nie byl obslugiwany przez starsza. Tak btw. mam jeszcze jedno pytanko co do tego tematu. Dalo by sie to jakos polaczyc z kilkoma selectami i inputami. Powiedzmy mam formularz gdzie:

select name="wybierz[]"
input name="wstaw[]"
sakul55
rzeczywiscie nowsza wersja PHP pomogla. dzieki za pomoc wam obu smile.gif
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.