Překreslení části formuláře AJAXem

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

S Davidem jsme na poslední sobotě bavili o tom jak vyřešit překreslení části pomoci ajaxu.
Např. vyplním IČO společnosti a pomoci ajaxu se mi vyplní jméno společnosti.

Výsledkem bylo, že mám založit nové vlákno v diskuzi :) Takže házím rukavici do ringu.

KLoK

Ola
Člen | 385
+
0
-

Napadá mě navěšení na nějakou (keyup/blur/něco podobnýho) událost, která, jakmile by byla vykonána, by provedla AJAX request na nějaký signál (např. completeName) s parametrem id. Tento signál by pole payload naplnil (z DB) a odeslal v JSON zpět. Tedy vypadat by to mohlo nějak takto:

JS:

$('#idPrvkuICOzFormulare').keyup(function() {
	var nameInput = $('#idPrvkuJmenoZFormulare');
	if($(this).val().length == 8 && nameInput.val().length == 0) {
		$.getJSON({link completeName!}, {'ico':$(this).val()}, function(payload) {
			nameInput.val(payload.name);
		});
	}
});

PHP, metoda presenteru:

public function handleCompleteName($ico)
{
	$this->payload->name = ...; // z modelu pomoci $ico
	$this->terminate();
}

Případně doplnit nějakou sofistikovanější validaci

Editoval Ola (1. 2. 2010 13:51)

klok
Člen | 11
+
0
-

Pekne, jednoduche. Dik ze podeleni se.

despiq
Člen | 320
+
0
-

me by se libilo kdyby se to spojilo s live ajax validaci,
napr kdyz chci vlozit do DB unikatni zaznam treba usera do adminu tak misto odesilani formulare rovnou po kliknuti pryc kontrolovat callbackem a dyztak vyhodit info o nutnosti vyplnit policko jinak