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 | 225
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 | 667
$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 | 225
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)