Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX] problem z formularzem
michal_robak
post 18.03.2009, 09:01:52
Post #1





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 13.05.2006

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


Witam. Mam taki oto skrypcik

w pliku stronka.php taki oto fragment:

  1. <div id="txtHint" style="font-size:12px;">


Dalej plik .js (struktura niektórym na pewno będzie znajoma):

  1. <?php
  2. var xmlHttp
  3. function polec_znajomego(str,str2)
  4. {
  5.    xmlHttp=GetXmlHttpObject()
  6.    if (xmlHttp==null)
  7.    {
  8.         alert ("Browser does not support HTTP Request")
  9.         return
  10.    }
  11.    url="style/ajax/Apolec_znajomego.php?imie="+str+"&nazwisko="+str2
  12.  
  13.    xmlHttp.onreadystatechange=stateChanged
  14.    xmlHttp.open("GET",url,true)
  15.    xmlHttp.send(null)
  16.    
  17. }
  18.  
  19.  
  20. function stateChanged()
  21. {
  22.    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
  23.    {
  24.        .getElementById("txtHint").innerHTML=xmlHttp.responseText
  25.    }
  26. }
  27. function GetXmlHttpObject()
  28. {
  29.    var xmlHttp=null;
  30.    try
  31.    {
  32.        // Firefox, Opera 8.0+, Safari
  33.        xmlHttp=new XMLHttpRequest();
  34.    }
  35.    catch (e)
  36.    {
  37.        //Internet Explorer
  38.        try
  39.        {
  40.            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  41.        }
  42.        catch (e)
  43.        {
  44.            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  45.        }
  46.    }
  47.    return xmlHttp;
  48. }
  49. ?>


teraz w pliku Apolec_znajomego.php mam <input type="submit" name="polec" value="zatwierdź"> i mi cholera nie działa (po prostu jest nieaktywny).

Robiłem dwa motywy. Dałem w pliku strona.php jeden główny formularz i nie czyta mi tego submita. Walnąłem też w pliku Apolec_znajomego.php osobny przycisk ale też nie działa :/. Może ktoś coś doradzić questionmark.gif

Ten post edytował michal_robak 18.03.2009, 09:23:18


--------------------
do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
Go to the top of the page
+Quote Post
bazyliszek83
post 18.03.2009, 09:30:47
Post #2





Grupa: Zarejestrowani
Postów: 81
Pomógł: 6
Dołączył: 24.07.2007
Skąd: Poznań

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


Wklej prosze cały kod z pliku Apolec_znajomego.php...


--------------------
App 4 You - Aplikacje internetowe
Go to the top of the page
+Quote Post
erix
post 18.03.2009, 10:16:03
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Kod
.getElementById("txtHint").innerHTML=xmlHttp.responseText

Nie masz tu błędu...?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
michal_robak
post 18.03.2009, 11:29:42
Post #4





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 13.05.2006

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


błędu nie powinno być ponieważ jest to brane ze jakieś przykładowej stronki na temat ajaxa

chciałem tego uniknąć ale prosze:

  1. <?php
  2.  
  3.  
  4. $imie=$_GET["imie"];
  5. $nazwisko=$_GET["nazwisko"];
  6.  
  7. if($imie != NULL && $nazwisko != NULL)
  8. {
  9. //tu połączenie z bazą
  10.  
  11.    $sql = "SELECT * FROM profile WHERE imie LIKE '%".iconv("UTF-8", "ISO-8859-2", $imie)."%' AND nazwisko LIKE '%".iconv("UTF-8", "ISO-8859-2", $nazwisko)."%'";
  12.    $result = mysql_query($sql);
  13.    //echo "Wynikow ".mysql_num_rows($result);
  14.    $wynik_osoby=mysql_fetch_assoc($result);
  15.    $opis='';
  16.    $i=0;
  17.  
  18.  
  19.    
  20.    if(mysql_num_rows($result)!=0)
  21.    {
  22.        
  23.        $opis.= '
  24.        <table class=poz width="100%"><br>
  25.        <tr><td colspan=4>
  26.        <b>Osoby istniejące już</b>
  27.        </td></tr>
  28.        <tr><td><input type="hidden" id="ID_Znajomego" name="ID_Znajomego"></td></tr>
  29.        ';
  30.        do
  31.        {
  32.            $opis.= "<tr><td><table width='100%' align='left' class='poz' "; if($i%2==0)$opis.="background='img/tlogrupy.jpg'"; $opis.="><tr>";
  33.            $opis.= "<td nowrap width=20><input type=\"hidden\" name=\"nazwa_id[]\" name=\"nazwa_id[]\" value = ".$i."><input type='radio' onclick=\"document.getElementById('ID_Znajomego').value='".$wynik_osoby['Uid']."'\"  id='osoba' name='osoba' value='".$wynik_osoby['email']."'></td><td width=200>".$wynik_osoby['imie']." ".$wynik_osoby['nazwisko']."</td><td width=150>".$wynik_osoby['miasto']."</td>
  34.            <td  nowrap width=100><a href=\"profil_znajomego.php?Uid=".$wynik_osoby['Uid']."\" class='pomarancz' target='_blank'>pokaz profil</a></td>";
  35.            $opis.= "</tr></table></td></tr>";
  36.            $i++;
  37.        }
  38.        while($wynik_osoby=mysql_fetch_assoc($result));
  39.        $opis.= '<tr><td colspan=4>
  40.        </td></tr>
  41.        <tr><td colspan=4><input type="submit" name="polec" class="poz" value="Poleć profil"></td></tr>';
  42.        
  43.    }
  44.    else
  45.    {
  46.        $opis.= "<tr>";
  47.        $opis.= "<td><span style='color:green'><b>Nie ma osoby o takim imieniu i nazwisku</b></span></td>";
  48.        $opis.= "</tr>";
  49.     }
  50.    $opis.= "</table>";
  51.    mysql_close($con);
  52. }
  53. else
  54. {
  55.    $opis.= "<b>W celu sprawdzenia poprawnosci musisz podać pełne imie i nazwisko</b>";
  56. }
  57.  
  58. //$opis = strtr($tekstISO, iso2utf());
  59. $nazwa = explode(" ", $_SERVER['HTTP_USER_AGENT']);
  60.  
  61. if($nazwa[0]=="Mozilla/4.0")
  62. {
  63.    $opis = iconv("ISO-8859-2",  "UTF-8",$opis);
  64. }
  65. else
  66. {
  67.    
  68. }
  69.  
  70. echo $opis;
  71.  
  72. ?>


cały kod wyświela poprawnie tylko nie pobiera tego przycisku

Ten post edytował michal_robak 18.03.2009, 11:35:58


--------------------
do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
Go to the top of the page
+Quote Post
bazyliszek83
post 18.03.2009, 13:07:10
Post #5





Grupa: Zarejestrowani
Postów: 81
Pomógł: 6
Dołączył: 24.07.2007
Skąd: Poznań

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


Hmm, nadal nigdzie nie widze wywoływanej funkcji polec_znajomego()...

Proponuje coś takiego zmienić w linii 45 pliku Apolec_znajomego.php:
  1. <?php
  2. <tr><td colspan=4><input type="submit" name="polec" class="poz" value="Poleć profil" onClick="polec_znajomego('.$imie.','.$nazwisko.');"></td></tr>;
  3. ?>


--------------------
App 4 You - Aplikacje internetowe
Go to the top of the page
+Quote Post
michal_robak
post 18.03.2009, 13:55:09
Post #6





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 13.05.2006

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


a cholera no nie dałem tej rzeczy bo jakoś o niej zapomnialem smile.gif ... mam ją w pliku stronka.php:

  1. <tr>
  2. <td >Imię:</td>
  3. <td><input name="imie" type="text" value="" class="poz"><span class="style1">* </span></td>
  4. </tr>
  5. <tr>
  6. <td>Nazwisko:</td>
  7. <td><input name="nazwisko" type="text" value="" class="poz"><span class="style1">*</span><input type="button" value="sprawdź" onclick="polec_znajomego(osobniK.imie.value,osobniK.nazwisko.value)" class="poz"></td>
  8. </tr>
  9. <tr>
  10. <td colspan=2 align=left><div id="txtHint" name="txtHint" style="font-size:12px;"></div></td>
  11. </tr>


czyli w tym pliku odwołuje się do tej funkcji w której pobieram wyniki na podstawie pola imi i nazwisko. Wyniki się wyświetlają poprawnie. Tylko nei działa mi ten przycisk SUBMIT tak jakby on forma nie widział

Ten post edytował michal_robak 18.03.2009, 13:57:36


--------------------
do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
Go to the top of the page
+Quote Post
bazyliszek83
post 18.03.2009, 14:09:06
Post #7





Grupa: Zarejestrowani
Postów: 81
Pomógł: 6
Dołączył: 24.07.2007
Skąd: Poznań

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


Powiem szczerze że ja też forma nie widze:)

Zapewne masz go gdzieś w innym pliku, dlatego prosiłbym o wrzucenie również jego kodu:)


--------------------
App 4 You - Aplikacje internetowe
Go to the top of the page
+Quote Post
michal_robak
post 18.03.2009, 14:35:01
Post #8





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 13.05.2006

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


heheh proście a będzie wam dane biggrin.gif: (całość znajduje się w pliku stronka.php)

  1. <table class="poz" width="95%" align="center">
  2. <form name="osobniK" id="osobniK" method="POST">
  3. <tr align="center">


...

  1. <tr>
  2. <td >Imię:</td>
  3. <td><input name="imie" type="text" value="" class="poz"><span class="style1">* </span></td>
  4. </tr>
  5. <tr>
  6. <td>Nazwisko:</td>
  7. <td><input name="nazwisko" type="text" value="" class="poz"><span class="style1">*</span><input type="button" value="sprawdź" onclick="polec_znajomego(osobniK.imie.value,osobniK.nazwisko.value)" class="poz"></td>
  8. </tr>
  9. <tr>
  10. <td colspan=2 align=left><div id="txtHint" name="txtHint" style="font-size:12px;"></div></td>
  11. </tr>



...


  1. </tr></form>


no teraz chiba juz nie ma się do czego przyczepić biggrin.gif

Ten post edytował michal_robak 18.03.2009, 14:37:00


--------------------
do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
Go to the top of the page
+Quote Post
bazyliszek83
post 18.03.2009, 14:44:00
Post #9





Grupa: Zarejestrowani
Postów: 81
Pomógł: 6
Dołączył: 24.07.2007
Skąd: Poznań

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


No niestety musze się przyczepić:)

Konkretnie do tego:
  1. type="button"


Powinno być :
  1. type="submit"


jeśli chcesz żeby formularz się wysłał po klilnięciu:)


--------------------
App 4 You - Aplikacje internetowe
Go to the top of the page
+Quote Post
michal_robak
post 18.03.2009, 15:33:37
Post #10





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 13.05.2006

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


ale ale to nie tak ma działać ....


pkt 1 primo ....

wpisuje w formularzu imię oraz nazwisko

pkt 2 primo ...

klikam w przycisk:

  1. <input type="button" value="sprawdź" onclick="polec_znajomego(osobniK.imie.value,osobniK.nazwisko.value)" class="poz">


który spowoduje mi dynamiczne wyświetlenie się części danych pobranych z pliku Apolec_znajomego.php (plik wyświetla dane + końcowy przycisk)

pkt 3. prmio ultimo ...

po kliknięciu w przycisk

  1. <input type="submit" name="polec" class="poz" value="Poleć profil">


formularz ma się przeładować pobierając zaznaczone dane lecz niestety się nie klika :/

Ten post edytował michal_robak 18.03.2009, 15:36:40


--------------------
do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
Go to the top of the page
+Quote Post
bazyliszek83
post 18.03.2009, 15:35:54
Post #11





Grupa: Zarejestrowani
Postów: 81
Pomógł: 6
Dołączył: 24.07.2007
Skąd: Poznań

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


To rzuć może całość wygenerowanej przez przegladarkę strony, albo najlepiej podaj link gdzie można to sobie obejrzeć.


--------------------
App 4 You - Aplikacje internetowe
Go to the top of the page
+Quote Post
Spawnm
post 18.03.2009, 15:41:44
Post #12





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




jeśli można się czepić 1 pliku :
nie dajesz wszędzie ;

.getElementById("txtHint").innerHTML=xmlHttp.responseText
prze . powinno być chyba document , no i na końcu ;
smile.gif
Go to the top of the page
+Quote Post
michal_robak
post 18.03.2009, 15:45:54
Post #13





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 13.05.2006

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


problem pierwszy

nie moge podać linku ponieważ znajduje się to na pewnym portalu który zostanie wzbogacony o tę opcję lecz nie chce mi działać jak na złość.

problem drugi

skrypt generowany jest automatycznie i ni jak idzie sprawdzić jego podgląd

COŚ NOWEGO

sprawdziłem teraz tą stronkę w IE i co prosze stronka się przeładowuje po kliknięciu w przycisk a testowałem w Operze i nie działa exclamation.gif. Dziwne ale tak zawsze jest ze działają jakby sobie na złość:/


--------------------
do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
Go to the top of the page
+Quote Post
erix
post 18.03.2009, 20:36:35
Post #14





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A co jest w konsoli błędów?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
bazyliszek83
post 19.03.2009, 10:25:36
Post #15





Grupa: Zarejestrowani
Postów: 81
Pomógł: 6
Dołączył: 24.07.2007
Skąd: Poznań

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


Cytat(michal_robak @ 18.03.2009, 15:45:54 ) *
problem pierwszy

nie moge podać linku ponieważ znajduje się to na pewnym portalu który zostanie wzbogacony o tę opcję lecz nie chce mi działać jak na złość.

problem drugi

skrypt generowany jest automatycznie i ni jak idzie sprawdzić jego podgląd

COŚ NOWEGO

sprawdziłem teraz tą stronkę w IE i co prosze stronka się przeładowuje po kliknięciu w przycisk a testowałem w Operze i nie działa exclamation.gif. Dziwne ale tak zawsze jest ze działają jakby sobie na złość:/


A pod FF sprawdzales?


--------------------
App 4 You - Aplikacje internetowe
Go to the top of the page
+Quote Post
michal_robak
post 19.03.2009, 12:59:48
Post #16





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 13.05.2006

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


no właśnie sprawdziłem i mi krzyczy że coś form jest źle domknięty bo był pomiędzy między <table> a <tr> wiec wrzuciłem go przed <table> i działa ... a łyżka na to niemożliwe <glupek>


--------------------
do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
Go to the top of the page
+Quote Post
bazyliszek83
post 19.03.2009, 13:27:26
Post #17





Grupa: Zarejestrowani
Postów: 81
Pomógł: 6
Dołączył: 24.07.2007
Skąd: Poznań

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


Na przyszłość zaczynaj sprawdzanie od FF a nie od Opery:)


--------------------
App 4 You - Aplikacje internetowe
Go to the top of the page
+Quote Post
michal_robak
post 20.03.2009, 09:24:06
Post #18





Grupa: Zarejestrowani
Postów: 115
Pomógł: 12
Dołączył: 13.05.2006

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


niom bedę musiał częściej zaglądać do FF. Dzięki za pomoc <peace>. BTW nie cierpie IE ani FF ze względu na to że w porównaniu z operą są znaaaaaaaaaaacznie wolniejsze. A Opera śmiga jak bum cyk cyk lecz mało kto jej używa i niekiedy o tym zapominam i wówczas wychodzą takie krzaczki smile.gif.


--------------------
do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 10:29