invalidace formuláře, zachování dat

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Oggy
Člen | 306
+
0
-

Potřeboval bych invalidovat formulář .. ale zachovat již vyplněná pole ve formuláři..

.. situace je takováto:
pomocí jquery ui dialogu si uživatel vybere něco.. id něčeho přes jquery zapíšu do value inputu a současně bych potřeboval na základě tohoto id šáhnout do databáze, z údaji z db nějak pracovat a poté je zapsat do dalšího inputu..

jak na to?
děkuju

není možné přes jquery get ..poslat signál..kde by metoda handleNeco vrátila pouze potřebný string? :) asi ne … v tom případě budu asi potřebovat invalidovat celý form.. ale je potřeba zachovat už vyplněná data.. jde nějak jednoduše všechny políčka formu defacto jejich value naskládat do DATA v GETu?

Ondřej Mirtes
Člen | 1536
+
0
-

V signálu plň $this->payload svými daty a pak na straně Javascriptu s tím dělej, co chceš :)

Něco o tom je v článku na Zdrojáku.

Oggy
Člen | 306
+
0
-

ooo ..díky :-) to otevírá úplně nové možnosti :-)

Oggy
Člen | 306
+
0
-

jak je možné že metoda handleNeco nezná parametr? ..

<?php
$.get({link getUrlPath!}, {'id': id}, function(payload) {
	$("#frmsectionForm-urlCesta").val(payload.url);
});
?>

a v metode handleGetUrlPath($id) je id NULL ..jakto?

je to signál normálně presenteru..

edit: jinak v firebugu parametr normálně předává.

Editoval Oggy (8. 4. 2010 17:09)

Mikulas Dite
Člen | 756
+
0
-

Udělej ten link rovnou s parametrem:

<?php
$.get({link getUrlPath!, 'id' => $id}, ...

Editoval Mikulas Dite (8. 4. 2010 17:29)

Oggy
Člen | 306
+
0
-

Mikulas Dite napsal(a):

Udělej ten link rovnou s parametrem:

<?php
$.get({link getUrlPath!, 'id' => $id}, ...

no .. tam to zase nezná proměnou z js ..to id a doplní to jako id string ‚id‘ ..

<?php
$.get({link getUrlPath! 'id' => id}, function(payload) { ...
?>

Editoval Oggy (8. 4. 2010 17:29)

Mikulas Dite
Člen | 756
+
0
-

No tak to je jasný. Ale protože je to id, máš ho i při vytváření linku ne?.

Pokud by to byl například text ze stránky, posílal by se v payloadu: atribut se potom nejspíš musí jmenovat stejně jako v definici action.

Oggy
Člen | 306
+
0
-

když nakouknu do kodu Davidovy ukázky:

<?php
$.get({link move!}, {'fruit': ui.helper.attr('id'), 'x': ui.helper.offset().left, 'y': ui.helper.offset().top});

	}
?>

taky to předává přes get(url, data, … , ..) ..

možná se to pere s routerem, kde je nastavené id.. zkusím změnit název té proměnné

Oggy
Člen | 306
+
0
-

Mikulas Dite napsal(a):

No tak to je jasný. Ale protože je to id, máš ho i při vytváření linku ne?.

Pokud by to byl například text ze stránky, posílal by se v payloadu: atribut se potom nejspíš musí jmenovat stejně jako v definici action.

teď moc nerozumím :-( .. nejdříve v js definuju id.. potom volám get ..

Mikulas Dite
Člen | 756
+
0
-

Chtěl jsem napsat handle.

Když má parameter $id_clanku

<?php
public function handleBar($id_clanku)
{
	...
?>

tak se tak musí jmenovat i klíč té payloadové proměnné, tzn. ne id, ale id_clanku.

Editoval Mikulas Dite (8. 4. 2010 17:34)

Oggy
Člen | 306
+
0
-

možná se to pere s routerem, kde je nastavené id.. zkusím změnit název té proměnné

pokud jsem to přejmenoval na xid .. a nechal můj půviodní kód.. tak to funguje..asi do toho opravdu zasahuje nějak router ??

Oggy
Člen | 306
+
0
-

Mikulas Dite napsal(a):

Chtěl jsem napsat handle.

Když má parameter $id_clanku

<?php
public function handleBar($id_clanku)
{
	...
?>

tak se tak musí jmenovat i klíč té payloadové proměnné, tzn. ne id, ale id_clanku.

jasný měl jsem
$id

a handleNeco($id)