Odeslání formuláře po vybrání hodnoty z addSelect

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

Zdravím. Mám formulář kde mam 2 addSelecty a chtěl bych odeslat formulář po vybrání jakékoliv hodnoty z addSelectu.

Nevěděl by někdo jak na to? Tlačítko odeslat není

jtousek
Člen | 951
+
0
-

Psáno z hlavy:

$(function () {
	$('select').change(function () {
		$(this).closest('form').submit();
	});
});

Btw. když tam máš dva selecty, opravdu chceš formulář odesílat už po vybrání v jednom z nich?

Tomáš Votruba
Moderator | 1114
+
0
-

Existuje i tato možnost přímo ve formuláři:

$form->addSelect("pick", "Up:", array(1,2,3))
	->setAttribute("onChange", "submit();");
22
Člen | 1478
+
0
-

@schmutzka: existuje, ale radši bych to nezmiňoval. https://en.wikipedia.org/…e_JavaScript

Tomáš Votruba
Moderator | 1114
+
0
-

@22: Rozumím, napadlo mne kombinované, DRY řešení.

$form->addSelect("pick", "Up:", array(1,2,3))
	->setAttribute("class", "onChangeSubmit");
$(function () {
	$(".onChangeSubmit").change(function () {
			$(this).closest("form").submit();
	});
});

Editoval Schmutzka (10. 7. 2012 12:39)

Domki
Člen | 310
+
0
-

Ahoj,
můžu se zeptat jakej je mezí timato způsoby rozdíl?
a v čem je tohle spatny:?

$form->addSelect("pick", "Up:", array(1,2,3))
        ->setAttribute("onChange", "submit();");
ViPEr*CZ*
Člen | 817
+
0
-

Máš to o kus výše… od uživatele 22.

Domki
Člen | 310
+
0
-

No z toho sem to moc nepochopil, jinak bych se neptal.

Milo
Nette Core | 1283
+
0
-

Špatné je to v tom, že mixuješ dohromady HTML značkování a funkčnost JavaScriptu. Lepší je tyhle dvě části držet od sebe oddělené. V HTML si prvek označíš třídou nebo ID a v JavaScriptu si pak přes tuto vlastnost navážeš chování.

Domki
Člen | 310
+
0
-

ttj, rozumím. děkuji za vysvětlení

ViPEr*CZ*
Člen | 817
+
0
-

A toto je hned napsáno v těch třech bodech na tom odkazu… dokonce, když to vložíte do google překladače je to srozumitelné :-)