Odoslanie formulára na kotvu

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

Ahoj,

hladal som, ale marne. Ako docielit toho, aby som odoslal formular na kotvu?

Mam HTML stranku, ktora ma dlhsi obsah. Na jej konci je kontaktny formular. Ak je chybne vyplneny, stranka sa reloadne s chybovymi hlaseniami, ale nevidno ich, pretoze sa neodscrolluje az na formular dole.

Je mozne nastavit odoslanie fomulara na napr. /?do=contactForm-contactForm-submit#contactForm ?

peter.z
Člen | 37
+
0
-
$form->setAction('#anchor');

Nefunguje?

erichoff
Člen | 3
+
0
-

peter.z napsal(a):

$form->setAction('#anchor');

Nefunguje?

Nie, nefunguje.

Blizzy
Člen | 149
+
0
-

Pokud nenajdeš lepší řešení, můžeš přidat do šablony javascript:

<script type="text/javascript">
	window.location.hash = 'kotva';
</script>
DocX
Člen | 154
+
0
-

Nešlo by tohle?

<?php
	$form->action .= '#anchor';
?>

Akorát musí být v tomto místě formulář připojen ke komponentě/presenteru (aby byl již vytvořený defaultní action).

Myslím, že by mělo stačit

<?php
	function createComponentForm()
	{
		$form = new AppForm($this, 'form');
		// namísto automatického:
		// $form = new AppForm;
		...
		$form->action .= '#anchor';
	}
?>

Editoval DocX (6. 9. 2009 18:54)

erichoff
Člen | 3
+
0
-

DocX vdaka. Je to presne tak, ako pises.