Odeslani formuláře javascriptem mimo <form>

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

Ahoj,
hledam best way. Mam panel s akcemi na stránce, tedy např. odejít, vložit nový, uložit atd.

Problém je takový, že tyto odkazy na akce jsou mimo kontent. Vykreslují se již v template. No a cílem některých by mělo být odesílat formulář. Jenže jak na to a kort třeba aby některé odesílali ajaxově (uložit) a jiné se volali přes action (uložit a odejít).

Nemáte někdo nějaké zkušenosti s tímto. Pár věcí mě napadlo, ale vše se mi to zdá neohrabané a tak vůbec na pytel.

Díky

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Úplně to nechápu. Cílem je odeslat formulář někde zprostřed javascriptu?

$('a#something').click(function () {
	$('form#somethingElse').submit();
});

Pokud bude formulář zaajaxovaný, odešle se ajaxově, v tu ránu.

besir
Člen | 170
+
0
-

No jde o to, že já ty akce potřebuju někdy na odeslání formuláře, někdy na odkaz. Tak jestli na to udelat zvášť metody a vytvářet různé tlačítka dle typu, např. addActionForm() addActionLink() a nebo jestli by napadlo někoho něco jiného.

Takovej základ mám teď toto:

private $actions;

    public function addAction($link, $name, $color = NULL)
    {
        $this->actions[$link] = (object) array(
            'link' => $link,
            'name' => $name,
            'color'=> $color,
        );

        $this->returnActions();
    }

    public function deleteAction($name)
    {
        unset($this->actions[$name]);

        $this->returnActions();
    }

    public function resetActions()
    {
        $this->actions = NULL;

        $this->returnActions();
    }

    private function returnActions()
    {
        $this->template->actions = $this->actions;
    }