Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JS/php] Automatyczne wypełnianie pól formularza.
darth_sidious
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 19.12.2005

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


Witam
Od kilku (doslownie) godzin borykam sie z nastepujacym problem. Mam formularz, w ktorym po wybraniu z listy rozwijalnej nazwy dostawcy inne pola (miejscowosc, ulica, kod, itp) wypelniaja sie automatycznie. Formularz tworzony jest w php, a do automatycznego wypalniania pol uzywam JavaScript. Poszczegolne elementy rozwijanej listy tworzone sa poprzez petle i sciagane z bazy danych:

  1. <form action="wprowadz.php" method="post" name="formularz">
  2. <select name='firmy' onchange=Pokaz_zmienna()>
  3. <?php
  4. $pobranie = "select * from firmy order by nazwa_dostawcy";
  5. $wynik_pobrania = mysql_query($pobranie) or die (mysql_error());
  6. $liczba_wierszy = mysql_num_rows($wynik_pobrania);
  7. for($i = 0; $i < $liczba_wierszy; $i++)
  8. {
  9. $wiersz = mysql_fetch_array($wynik_pobrania);
  10. echo "<option value='".$wiersz['nazwa_dostawcy']."'>".$wiersz['nazwa_dostawcy']."</option><br>";
  11. }
  12. ?>
  13. </select>
  14. .
  15. .
  16. .
  17.  
  18. <td>
  19. <input type="text" name="zmienna">
  20. </td>


Poradzilem sobie z wypelnieniem jednego pola o nazwie "zmienna". Poprzez JS przekazuje wybrana z listy firme do zmiennej "x", ktora nastepnie wypelnia zawartosc INPUTA o nazwie "zmienna".

  1. <script LANGUAGE="JavaScript">
  2. <!--
  3. function Pokaz_zmienna() {
  4. var v = document.formularz.firmy.selectedIndex;
  5. var x = document.formularz.firmy[v].value;
  6. document.formularz.zmienna.value=x;
  7.  
  8. //-->


Kolejny INPUT chcialem wypelnic nazwa miejscowosci, w ktorej znajduje sie dana firma i... tu zaczynaja sie dla mnie schody, bo po prostu nie wiem jak polaczyc JS i php. A musze to zrobic, poniewaz miejscowosc rowniez jest pobierana z bazy na podstawie wybranej z listy firmy. Probowalem tak:

  1. <script LANGUAGE="JavaScript">
  2. <!--
  3. function Pokaz_zmienna() {
  4. var v = document.formularz.firmy.selectedIndex;
  5. var x = document.formularz.firmy[v].value;
  6. var y =
  7. <?php
  8. $pobierz = "select miasto from firmy where nazwa_dostawcy = ".x."";
  9. $wynik_pobierz = mysql_query($pobierz) or die (mysql_error());
  10. echo $wynik_pobierz;
  11. ?>
  12. document.formularz.miejscowosc.value=y;
  13.  
  14. }
  15. //-->


I niestety nic z tego (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Co robie zle? Czy kombinujac z polaczeniem JS i php czegos nie pochrzanilem? Nie wiem... Moze Wam uda sie to rozwiklac, badz tez naprowadzic mnie chociaz na jakis slad/kod, ktory pomoze mi dalej juz isc samemu.
I jeszcze jedna uwaga - tych pol/inputow, ktorych trzeba wypelnic na podstawie wybranej firmy jest jeszcze kilka kod pocztowy, nr tel, itp.

Pozdrawiam
Darth
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
darth_sidious
post
Post #2





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 19.12.2005

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


Zminilem to w pliku pob.php. Czy chodzili o cos takiego?
  1. <?php
  2. include 'polaczenie.inc';
  3. $pobierz_miasto = "select * from firmy where nazwa_dostawcy="$_POST[nazwa]"";
  4. $result = mysql_query($pobierz_miasto) or die (mysql_error());
  5. if (mysql_num_rows($result) > 0) {
  6. while($row = mysql_fetch_assoc($result)) {
  7. if ($_POST['typ'] == 'zmianna') {
  8. echo $row['nazwa_dostawcy'];
  9. }
  10. elseif ($_POST['typ'] == 'miasto') {
  11. echo $row['miasto'];
  12. }
  13. elseif ($_POST['typ'] == 'ulica') {
  14. echo $row['ulica'];
  15. }
  16. }
  17. }
  18. ?>


Jeszcze jedo pytanie. Czy nie powinno sie cos zmieniac w skrypcie w linii
  1. onSuccess : function(obj) { document.formularz.zmienna.value = obj.responseText; },

Tu caly czas jest wartosc 'zmienna', a przeciez pobieramy tez np, dane 'miasto'.

Dla pewnosci wkleje teraz caly kod ktory "wyszedl" po wszystkich przerobkach.
wprowadz_4.php
  1. <?php
  2. include 'naglowek.inc';
  3. include 'polaczenie.inc';
  4. ?>
  5.  
  6. <script type="text/javascript" src="advajax.js"></script>
  7. <script type="text/javascript">
  8. <!--
  9. function Pokaz_zmienna(obiekt) {
  10. var x = obiekt.value;
  11. var y = obiekt.name;
  12.  
  13. advAJAX.post({
  14. url: "pob.php",
  15. parameters : {
  16. "nazwa" : x,
  17. "typ" : y
  18. },
  19. onSuccess : function(obj) { document.formularz.zmienna.value = obj.responseText; },
  20. onError : function(obj) { alert("Error: " + obj.status); },
  21. });
  22.  
  23. }
  24. //-->
  25. </script>
  26.  
  27.  
  28.  
  29. <form action="wprowadz_4.php" method="post" name="formularz">
  30. <select name='firmy' onchange=Pokaz_zmienna('firmy')>
  31. <option>---WYBIERZ---</option>
  32. <?php
  33. $pobranie = "select * from firmy order by nazwa_dostawcy";
  34. $wynik_pobrania = mysql_query($pobranie) or die (mysql_error());
  35. $liczba_wierszy = mysql_num_rows($wynik_pobrania);
  36. for($i = 0; $i < $liczba_wierszy; $i++)
  37. {
  38. $wiersz = mysql_fetch_array($wynik_pobrania);
  39. echo "<option value='".$wiersz['nazwa_dostawcy']."'>".$wiersz['nazwa_dostawcy']."</option><br>";
  40. }
  41. ?>
  42. </select>
  43. <br>Klient: <input type="text" id="zmienna" name="zmienna" onchange=Pokaz_zmienna(this)>
  44. <br>Miejscowosc: <input type="text" id="miasto" name="miasto" onchange=Pokaz_zmienna(this)>
  45. <br>Ulica: <input type="text" id="ulica" name="ulica" onchange=Pokaz_zmienna(this)>
  46. </form>


pob.php
  1. <?php
  2. include 'polaczenie.inc';
  3. $pobierz_miasto = "select * from firmy where nazwa_dostawcy="$_POST[nazwa]"";
  4. $result = mysql_query($pobierz_miasto) or die (mysql_error());
  5. if (mysql_num_rows($result) > 0) {
  6. while($row = mysql_fetch_assoc($result)) {
  7. if ($_POST['typ'] == 'zmianna') {
  8. echo $row['nazwa_dostawcy'];
  9. }
  10. elseif ($_POST['typ'] == 'miasto') {
  11. echo $row['miasto'];
  12. }
  13. elseif ($_POST['typ'] == 'ulica') {
  14. echo $row['ulica'];
  15. }
  16. }
  17. }
  18. ?>


Ten post edytował darth_sidious 13.10.2006, 22:07:12
Go to the top of the page
+Quote Post

Posty w temacie
- darth_sidious   [JS/php] Automatyczne wypełnianie pól formularza.   11.10.2006, 21:29:49
- - erix   Kod$pobierz = "select miasto from firmy w...   11.10.2006, 21:33:47
- - darth_sidious   Wynik przypisuje, a wlasciwie chcialbym przypisac ...   11.10.2006, 21:41:04
- - erix   No, ale $wynik_pobierz, to przecież zasób, a ...   11.10.2006, 21:44:44
- - darth_sidious   W tym przypadku w ogole nie wyswietla formularza :...   11.10.2006, 21:53:23
- - erix   Wartość dla nazwa_dostawcy w zapytaniu nie jest w ...   11.10.2006, 21:58:35
- - darth_sidious   Nawiasy zaraz podokladam, a mysql_error nic nie wy...   11.10.2006, 22:13:51
- - erix   [PHP] pobierz, plaintext <?phpecho "var y ...   12.10.2006, 16:22:51
|- - darth_sidious   Cytat(erix @ 12.10.2006, 15:22:51 ) [...   12.10.2006, 18:59:56
- - erix   Cytat[PHP] pobierz, plaintext <?php$wynik_pobie...   12.10.2006, 19:15:08
- - Sabistik   chwila chwila [PHP] pobierz, plaintext <?php$po...   12.10.2006, 19:25:59
- - darth_sidious   W takim razie jak przekazac do SELECTA nazwe wybra...   12.10.2006, 19:40:31
- - erix   Zerkałeś do manuala dla tych funkcji? Tam masz wsz...   12.10.2006, 20:56:53
- - Sabistik   Wszystko cos na wzor tego: [PHP] pobierz, plaint...   12.10.2006, 21:17:27
- - darth_sidious   Dzieki... zaraz poprobuje... Niestety nadal nic...   12.10.2006, 21:59:19
- - Sabistik   [HTML] pobierz, plaintext <script type="te...   12.10.2006, 22:29:13
- - darth_sidious   Dziala zmienilem tylko kilka rzeczy w pliku pob...   12.10.2006, 23:08:02
- - erix   Na przykład tak: Kod<script LANGUAGE="Java...   13.10.2006, 13:00:08
- - darth_sidious   Wybaczcie ale z Ajaxa jestem noga. Wrzucilem ten k...   13.10.2006, 18:32:40
- - erix   Możesz robić w całym formularzu: Ko...   13.10.2006, 20:59:08
- - darth_sidious   Ok podmienilem AJAXA na Twoja wersje. Czy zdarzeni...   13.10.2006, 21:36:04
- - erix   Kody = obiekt.name; advAJAX.post({ url: ...   13.10.2006, 21:48:42
- - darth_sidious   Zminilem to w pliku pob.php. Czy chodzili o cos ta...   13.10.2006, 22:06:25
- - erix   Co do php, to dobrze kombinujesz CytatKodonSucce...   13.10.2006, 22:12:45
- - darth_sidious   Niestety nic nie dziala Trace po malu nadziej, ...   13.10.2006, 22:24:31
- - Sabistik   [HTML] pobierz, plaintext onSuccess : function...   14.10.2006, 09:19:56
- - darth_sidious   Wielkie dzieki! Wreszcie dziala. Zrobilem ja...   14.10.2006, 18:10:22


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: 4.05.2026 - 11:33