závislý select box a problém s jeho odesláním

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

Zdravím,

potýkám se s tímto problémem:

Mám Presenter, v něm mám továrnu na componentu „pouzFrmStroj“ a v ní vytvářím formulář pomocí

protected function createComponentPouzStrojForm($name)
{
		$form = new PouzStrojForm(.......);
		return $form;
}

všechno funguje, ale mám tam závislý select box, který má navíc pravidlo povinného vyplnění.
Ten si naplním pomocí vlastního JS a funguje i toto (ověřeno tím, že když si po vyplnění kliknutím na něj dám vypsat vybranou hodnotu pomocí JS, tak mi hláška vyskočí i s vybranou hodnotu). Problém však nastane v tom, že pokud vyberu danou hodnotu a odešlu formulář, tak je mi pořád vracena hodnota říkající, že nebylo nic vybráno.

Nevíte, kde je problém?

2.
Vlastní naplnění závislého selectboxu jsem prozatím zvolil proto, že návod dle kuchařky mi z nějakého důvodu neodešle požadavek na server. Mám v šabloně:

	{snippet form}
		{control pouzFrmStroj}
	{/snippet}

	<script type="text/javascript">
		$("form").delegate('#frmpouzStrojForm-frmprodcat', 'change', function() {

		//alert($(this).val());
		$.get("?do=selectLoad", {"static": $(this).val()});
		//alert($(this).val());
});
	</script>

Po alert to funguje, ale pak už nic.

jquery.nette.js mám připojen.

3.

Je zajímavé, že když jsem místo tvrdého odkazu #frmpouzStrojForm-frmprodcat použil

'#'+{$control["pouzFrmStroj-frmprodcat"]->htmlId  . . .  .

tak nette křičí, že žádnou prvek „frmprodcat“ nezna.

Elijen
Člen | 171
+
0
-
  1. Chtělo by to vidět továrničku formuláře.
  2. Používáš FireBug nebo něco podobného? Chybová hláška v konzoli by mohla napovědět.
  3. A neni to #frmpouzStrojForm-prodcat?
pernip01
Člen | 21
+
0
-

1.

Presenter si tvoří komponentu „PouzFrmStroj“ :

protected function createComponentPouzFrmStroj()
{
	return new PouzFrmStroj(.....);
}

a tato komponenta si v sobě vytváří formulář pomocí

protected function createComponentPouzStrojForm($name)
{
	$form = new PouzStrojForm(&this,$name);
	return $form;
}

a tento formulář je vykreslován v šabloně komponenty.

a cela komponenta je vykreslována v šabloně presenteru.

2. data

ve firebugu jsem zatim našel pouze toto:
Object { static=„4“}
static
„4“
dataType
undefined
success
undefined
type
„GET“
url
„?do=selectLoad“

Js

3. Podle kuchařky by to tak byt nemělo, protože prvek frmprodcat je ve formuláři „PouzStrojForm“ a teprve tento formulář je v komponentě PouzFrmStroj. V kuchařce se odkazují na „control“ uvedený v šabloně.

Editoval pernip01 (14. 4. 2012 9:10)