Dva submit prvky ve formuláři

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

Ahoj, mám formulář, který mimo klasické submit tlačítko má i select, který je naplněn záznamy vyskytujícími se v databázi. Když vyberu z tohoto selectu nějakou položku, tak se snažím vyfiltrovat vypsat prvky z jiné tabulky do tohoto formuláře. Budu to asi muset udělat přes Ajax, potože refresh by vypadal blbě, ale to už odbočuji.

S čím mám potíž u toho formuláře – nedaří se mi odchytnout, kdy se klikne a vybere položka z toho selectu.
PRESENTER

	public function createComponentFirstForm($name)
	{
		$form = new AppForm($this, $name);
		$form->addText('name', 'Název firmy')
			 ->addRule(Form::FILLED, 'Musíte vyplnit jméno!');

		$form->addSelect('spec', 'PREDMETY:', $this->model->findAllTodos())->getControlPrototype()->onchange("submit();");

		$form->addSelect('know', 'ZNAM:', $this->model->findAllKnows());

		$form->addSubmit('save', 'Uložit informace');
		//Debug:dump($this->model->findAllKnows());
		$form->onSubmit[] = callback($this, 'processFirstForm');

		return $form;
	}

	public function processFirstForm(AppForm $form)
	{
		if($form['spec']->isSubmittedBy()) {
			$this->flashMessage('Úkol vložen.');
			$values = $form->getValues();

			Debug::dump($values);
		}


		if($form['save']->isSubmittedBy()) {
			$this->flashMessage('Úkol vložen.');
			$values = $form->getValues();

			$sql = new Sql;
			$sql->name = $values['name'];

			//Debug::dump($values);
			$this->model->createSql($sql);
		}
		//$this->redirect('Todolist:show');

	}

Ale vždycky se po odeslání formuláře dostaun do toho spodního IFu, nikdy do toho prvního. Zkoušel jsem hledat tady na foru, ale zatím jsem moc řešení nenašel… Neporadili byste, v čem je chyba? Díky.

Oggy
Člen | 306
+
0
-

ono to je tak správně.. ty selectu nastavuješ onchange..javascriptové odeslání .. a to přes jediný submit, který tam máš tedy ‚save‘..

Manny7
Člen | 67
+
0
-

Oggy …jasně, ale dá se nějak zjistit, zda jsem ťuknul právě na ten select? Odchytnout tu událost prostě

Oggy
Člen | 306
+
0
-

Manny7 napsal(a):

Oggy …jasně, ale dá se nějak zjistit, zda jsem ťuknul právě na ten select? Odchytnout tu událost prostě

asi pouze pomocí js .. viz select onchange

mlha
Člen | 58
+
0
-

Vyrešil jsem pomocí rozšíření formuláře. Select jsem naučil vytvořit si vlastní Submit na onChange se na něj klikne. Další zpracování takového kliku je již standardní.
viz. zde:https://forum.nette.org/…s-datagridem?…