Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: SMARTY + jQuery
Forum PHP.pl > Forum > Przedszkole
ilkar
W jaki sposób można używać jquery albo wogole ajax'u w templatach SMARTY?

Chodzi mi o to, ze mam template index.tpl, w ktorej mam np:

<div class="test">
{$tekst}
</div>

co mam napisać, aby ajax wrzucil mi w {$tekst} jakies informacje

$response->assign("tekst", "abcd");
$response->display("index.tpl");

bo to co napisalem powyzej jako przyklad nie dziala...

wyskakuje mi blad typu Fatal error</b>: Call to a member function assign() on a non-object in .... on line <b>..</b>
nospor
Cytat
aby ajax wrzucil mi w {$tekst} jakies informacje
Ajax w $text?

jQuery to lib js i nie ma nic wspolnego z twoim kodem w php. js nie wrzuci ci nic do zmiennej php. Jak chcesz cos wrzucic do diva to musisz zrobci to np. tak
Kod
jQuery('.test').html('cos do diva');
heracles
wyskakuje mi blad typu Fatal error</b>: Call to a member function assign() on a non-object in .... on line <b>..</b>
[/quote]

mozna przerzucac do html`a elementy jquery, np jak masz w headerze wpisana funkcje jquery itp.

Problem Twoj jest to, ze nie masz zabarzdo dobrze dzialajacej klasy $response-> Problem twoj jest tutaj.

sprawdz obsluge smarka
ilkar
moj js dziala dobrze, w naglowku mam dodane funkcje, ktora poprawnie wpisują mi wszystko do wyznaczonego diva, problem jest w tym, ze nie wiem co dac w responsie z php'a do ktorego przesylane są dane z formularza, aby ten wrzucił mi informacje do szablonu.

mam plik index.php odnoszący sie do szablonu index.tpl. Oba pliki tworzą formularz.

Po zaakceptowaniu formularza informacje z inputow są przesylane za pomocą jquery do pliku php, ktory sprawdza poprawnosc wpisanych informacji i daje odpowiedz. Jeżeli formularz jest blednie wypelniony, to chce wyswietlic jakies informacje korzystając juz z szablonu ktory istnieje, czyli index.tpl.

pytanie jest co mam wpisac w php sprawdzajacym dane, aby za pomoca ajaxa mi cos wyswietlil w templacie.
sannin
O ile dobrze rozumiem to możesz w request podać zmienne np. za pomocą GET
heracles
a wiec korzystasz z jQuery validatora. Sprawa nie jest trudna. Element jQuery odpowiedzialna za ten element jest typu:


rules -> username: {
required: skrypt_sprawdzajacy.php,
minlength: 2
},
messages-> username: {
required: "{$zle.required}",
minlength: "{$zle.minlength}"
},

calosc sie znajduje w dokumencie html`a wiec do templata naglowka poslij co chcesz
$clasaSmarta->assign(zle, array(
'requred' => 'istnieje juz taki user',
'minlenth' => 'za malo znakow'));
ilkar
Mam taki kod:

$correct_first_name = new correct();
$correct = $correct_first_name->correct_string($first_name);
$register2->assign("first_name", $correct);
$register2->display('register.tpl');

klasa correct zawiera funkcje sprawdzające rozne rzeczy
funkcja correct_string sluzy do sprawdzania, czy login jest ok
odpowiedz chcialbym wstrzyknac do miejsca oznaczonego w szablonie smartow jako $first_name
i wszystko byloby ok, gdyby nie fakt, iż robiąc to w taki sposob jak powyżej szablon wpisuje się w szablon, czyli mam szablon utworzony za pierwszym razem, a w nim po akcji ajaxa zostaje wpisany ponownie ten sam szablon, masz moze pomysł jak to obejść?

a może macie jakies tutoriale dotyczące korzystania z ajax'a w smartach?
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.