chciałbym zamieścić na swojej stronie prosty skrypt jQuery (bazujący na AJAXie) do zamieszczania komentarzy (coś w rodzaju shoutboxa). W otchłani różnych dodatków jQuery znalazłem dodatek ajaxForm, który ma działać tak, że trzeba napisać tylko kod PHP do obsługi formularza, 'podpiąć' formularz pod ten dodatek, i jQuery załatwi za mnie to, że ten formularz nie będzie wymagał przeładowania strony. Niestety, po podpięciu formularza pod ten dodatek, strona niestety przeładowuje się (co wygląda fatalnie, bo układ strony jest zrobiony z użyciem innego dodatku organicTabs). Najlepiej będzie, jak sami wejdziecie na stronę i dodacie jakiś komentarz, to zobaczycie, co się dzieje:
menu 'Oceń'
Kod PHP obsługujący formularz (chyba nie ma tutaj większego znaczenia) wygląda następująco:
class AddComment { public $nick; public $message; public function setNick($nick) { $this->nick = $nick; } public function setMessage($message) { $this->message = $message; } public function __construct() { } public function printComments() { { $linia = "<hr />"; $br = "<br />Napisano: "; $obrazek = "<img src=\"src/images/bullet.gif\" alt=\"-\" />"; $tab[] = $l['user']; $tab[] = $obrazek; $tab[] = $l['message']; $tab[] = $br; $tab[] = $l['date']; $tab[] = $linia; } return $tab; } public function check() { $this->error = 0; { $this->error++; } return $this->error; } public function insert() { if(!$this->error) { $query = sprintf("INSERT INTO shoutbox2 (user, message) VALUES('%s', '%s');", mysql_real_escape_string(strip_tags($this->nick)), mysql_real_escape_string(strip_tags($this->message))); } } } $entry = new AddComment(); { $entry->setNick($nick); $entry->setMessage($message); $entry->check(); $entry->insert(); } $tab = $entry->printComments(); foreach($tab as $index) { }
Niedziałający kod jQuery, mający zapobiegać przeładowaniu strony:
$(document).ready(function() { $('#form').ajaxForm({ // id formularza target: 'body' // alert("Komentarz został dodany."); }); });
Formularz:
Proszę o pomoc,
Z góry dziękuję