Modální okno s formulářem a validace – AJAX

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

Zdravím,

používám modální okno bootstrapu

http://getbootstrap.com/javascript/#…

Do modálního okna vykresluju formulář, který následně odesílám ajaxem. Bohužel mně nefunguje validace.
Když kliknu na tlačítko formuláře tak se odešle (bez js kontroly).

HomepagePresenter

	public function createComponentForm()
	{
		$form = new Form();
		$form->getElementPrototype()->class[] = 'ajax'; // kdyz je to ajaxove pak se nevypisuje validace
		$form->addHidden("code")

		$form->addText("title", "")
			->addRule(Form::FILLED, "Název musí být vyplněn.");
		....
		$form->addSubmit("send","Přidat")
			//	->setAttribute("class", "btn btn-primary btn-success")
			->setAttribute("class='btn btn-default' data-dismiss='modal'");
		$form->onSuccess[] = callback($this, 'formSubmitted');
		return $form;
	}

	public function formSubmitted(Form $form)
	{

		$this->redrawControl('formSnippet');

		$this->presenter->flashMessage("funguje to");


	}

default.latte

<!-- Button trigger modal -->
<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
    Dobropis
</button>

<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
                <h4 class="modal-title" id="myModalLabel"> Přidat </h4>
            </div>
            <div class="modal-body">
                {snippet formSnippet}
                {control form}
                    <div n:foreach="$flashes as $flash" class="flash {$flash->type}">{$flash->message}</div>
                {/snippet}
            </div>
            <div class="modal-footer">
            </div>
        </div>
    </div>
</div>

Nevítě někdo co dělám špatně?

ondrej256
Člen | 187
+
0
-

Formulář ani nemusí být v Modal boxu a už validace nefunguje

sadamek
Člen | 16
+
0
-

A máš na stránce javascript netteForms.js? A pokud chceš ajax, tak i nette.ajax.js ?

Dále vidím, že voláš redrawControl před flashMessage, zkus to obrátit.