Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][MySQL][PHP] dynamiczny input zalezny od pola select
hubson87
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 8
Dołączył: 9.02.2011
Skąd: Wrocław

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


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.
Go to the top of the page
+Quote Post
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


jQuery [ajax] + poczytaj o evencie onchange
Go to the top of the page
+Quote Post
hubson87
post
Post #3





Grupa: Zarejestrowani
Postów: 83
Pomógł: 8
Dołączył: 9.02.2011
Skąd: Wrocław

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


Wiem co to onChange ale naprawde bylbym wdzieczny za jakis przyklad. Głównie jak to wysłać do zapytania i odebrać z powrotem.
Go to the top of the page
+Quote Post
jaslanin
post
Post #4





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

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


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. ?>
Go to the top of the page
+Quote Post
hubson87
post
Post #5





Grupa: Zarejestrowani
Postów: 83
Pomógł: 8
Dołączył: 9.02.2011
Skąd: Wrocław

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


O coś takiego właśnie mi chodziło teraz to jakoś zmienie na swoje potrzeby. Dzięki
Go to the top of the page
+Quote Post
sakul55
post
Post #6





Grupa: Zarejestrowani
Postów: 39
Pomógł: 4
Dołączył: 27.03.2011

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


a dziala Ci ten przyklad? chcialem zrobic cos podobnego, ale to mi nie dziala (IMG:style_emoticons/default/sad.gif) nie reaguje w zaden sposob przy zmianach. ma ktos moze jakis podobny?
Go to the top of the page
+Quote Post
jaslanin
post
Post #7





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

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


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.
Go to the top of the page
+Quote Post
sakul55
post
Post #8





Grupa: Zarejestrowani
Postów: 39
Pomógł: 4
Dołączył: 27.03.2011

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


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
Go to the top of the page
+Quote Post
hubson87
post
Post #9





Grupa: Zarejestrowani
Postów: 83
Pomógł: 8
Dołączył: 9.02.2011
Skąd: Wrocław

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


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[]"
Go to the top of the page
+Quote Post
sakul55
post
Post #10





Grupa: Zarejestrowani
Postów: 39
Pomógł: 4
Dołączył: 27.03.2011

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


rzeczywiscie nowsza wersja PHP pomogla. dzieki za pomoc wam obu (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 12.10.2025 - 06:28