Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][PHP]Przesyłanie $_POST poprzez jquery
Forum PHP.pl > Forum > Przedszkole
Konop857
Witam, mam taki kawałek kodu :
  1. <script type='text/javascript'>
  2. function send_message(){
  3. var ajax_method = typeof XMLHttpRequest == 'undefined'?new ActiveXObject('Microsoft.XMLHttp'):new XMLHttpRequest();
  4. ajax_method.onreadystatechange=function(){
  5. if (ajax_method.readyState==4 && ajax_method.status==200){
  6. document.getElementById('txtHint').innerHTML=ajax_method.responseText;
  7. }
  8. }
  9. ajax_method.open('POST','?subtopic=chat_actions&action=send_message', true);
  10. ajax_method.send();
  11. };
  12. </script>
  13. <center>Chat
  14. <form action='java script: void(0)' type='post'>
  15. <table width='100%' cellspacing='1' cellpadding='1'>
  16. <tr>
  17. <td width='30%' class='table_int'>Kanał</td>
  18. <td width='70%' class='table_int'>essia</td>
  19. </tr>
  20. <tr>
  21. <td width='30%' class='table_nint'><input type='text' name='chat_message' size='30'/></td>
  22. <td width='70%' class='table_nint'><input type='submit' value='Wyślij' onclick='send_message()'/></td>
  23. </tr>
  24. </table>
  25. </form>

  1. $query = $SQL->prepare("INSERT INTO chat_messages(`id`, `chat_id`, `message_person`, `message_date`, `message_text`)
  2. VALUES('0', '1', :sender, :datetime, :message)");
  3. $query->bindValue(':sender', $username, PDO::PARAM_STR);
  4. $query->bindValue(':datetime', date('Y-m-d H:i:s'), PDO::PARAM_STR);
  5. $query->bindValue(':message', $_POST['chat_message'], PDO::PARAM_STR);
  6. $query->execute();

Niestety, zapytanie się nie wykonuje, gdyż zmienna $_POST jest pusta.
Mógłby mi ktoś podpowiedzieć co robię źle smile.gif?

Pozdrawiam
nospor
$_POST['chat_message']
Nigdzie w kodzie nie widzę, byś przesyłał postem chat_message.... trudno więc oczekiwać by się samo magicznie wysłało
Konop857
Więc, teraz mam takie coś :
  1. $('#chat_subtmit').submit(function() {
  2. $.post('?subtopic=chat_actions&action=send_message', {'chat_message' : $('#chat_message').val()});
  3. return false;
  4. });

  1. <form action='java script: void(0)' method='post'>
  2. <table width='100%' cellspacing='1' cellpadding='1'>
  3. <tr>
  4. <td width='30%' class='table_int'>Kanał</td>
  5. <td width='70%' class='table_int'>essia</td>
  6. </tr>
  7. <tr>
  8. <td width='30%' class='table_nint'><input type='text' name='chat_message' id='chat_message' size='30'/></td>
  9. <td width='70%' class='table_nint'><input type='submit' name='send' value='Wyślij' id='chat_subtmit'/></td>
  10. </tr>
  11. </table>
  12. </form>

Lecz nadal nie działa ;s

Pozdrawiam
nospor
1) Zainstaluj sobie FIREBUG dla FireFox i patrz co się dzieje.
2) $('#chat_subtmit').submit
Przeciesk guzik nie ma zdarzenia submit. To formularz ma takie zdarzenie
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.