JS confirm na tlačítku jen při zaškrtnutém checkboxu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- radas
 - Člen | 226
 
Ahoj, mám formulář s checkboxem a chtěl bych zobrazit javascriptový confirm po kliknutí na tlačítko Uložit, ale jen v případě, když bude tento checkbox zaškrtnutý. Zkoušel jsem toto
$form->addCheckbox('dispatcher', 'Předat dispečerovi');
$form->addSubmit('save', 'Uložit')
     ->addConditionOn($form['dispatcher'], NForm::FILLED)
       ->getControlPrototype()
         ->onclick('return confirm("Opravdu si přejete tuto rezervaci předat dispečerovi?")');
ale dostanu jen výjimku MemberAccessException. Metoda addConditionOn() se dá použít jen pro validační pravidla? Neřešili jste už někdo něco podobného? Díky.
Editoval radas (12. 12. 2010 19:26)

- bojovyletoun
 - Člen | 668
 
$u = $form->addSubmit('save', 'Uložit');
$u->addConditionOn($form['dispatcher'], Form::FILLED);
$u->getControlPrototype()
	->oncl...
voláš getcontrolprototype na Rule…
Editoval bojovyletoun (12. 12. 2010 18:17)

- Matúš Matula
 - Člen | 257
 
Ahoj,
daj tu podmienku do toho onclicku
<?php
$form->addCheckbox('dispatcher', 'Předat dispečerovi');
$form->addSubmit('save', 'Uložit')
   ->getControlPrototype()
         ->onclick("if ($('#{$form['dispatcher']->getHtmlId()}').is(':checked')) return confirm('Opravdu si přejete tuto rezervaci předat dispečerovi?')");
?>
Neskusal som to, ale ideu mas..

- radas
 - Člen | 226
 
Perfektní, díky moc za inspiraci. Tvoje řešení sice funguje, ale pak už se nespustí javascriptová validace formuláře. S touto úpravou už pak funguje vše.
$form->addCheckbox('dispatcher', 'Předat dispečerovi');
$form->addSubmit('save', 'Uložit')
     ->getControlPrototype()
       ->onclick("if ($('#".$form['dispatcher']->getHtmlId()."').is(':checked')) return confirm('Opravdu si přejete tuto rezervaci předat dispečerovi?') ? nette.validateForm(this) : false");
					Editoval radas (12. 12. 2010 21:51)