Nette 2.1 addSubmit – onclick – jak zabránit refreshni stranky?

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

Zdravím.
Mám jednoduchý formulářík:

protected function createComponentUploadForm()
{
    $form = new Form();
	...
    $form->addSubmit( 'abc', 'Nahrát' )
            ->setAttribute("onclick","uploadFiles()");

    return $form;
}

a js funkci, která se volá po kliknutí na tlačítko nahrát:

function uploadFiles()
{
    alert("uploadFiles");
}

Po kliknutí na tlačítko „nahrát“ vyskočí alert(„uploadFiles“), to je OK. Po potvrzení alertu se mi refreshne celá stránka, což nechci. Jak na to?
Děkuji za rady a nápady

leninzprahy
Člen | 150
+
0
-

třeba

function uploadFiles(e)
{
    alert("uploadFiles");

    e.preventDefault();
    //nebo
    return false;

}
motorcb
Člen | 552
+
0
-

@leninzprahy:
Díky za info ale ani jeden z příkazů nefunguje :-( Stále dochází k přesměrování.

Existují ještě nějaké příkazy?

Cache jsem promazal, v kódu vidím upravenej, tak jak jsi mi doporučil.

Editoval motorcb (13. 11. 2013 14:39)

leninzprahy
Člen | 150
+
0
-

Aha, ono u inline definice si tam musíš ten event přidat sám, takže

$form->addSubmit( 'abc', 'Nahrát' )
            ->setAttribute("onclick","uploadFiles(event)");

a

function uploadFiles(e)
{
    alert("uploadFiles");
    e.preventDefault();
}

Edit:
v IE to funguje až od verze 9

Editoval leninzprahy (13. 11. 2013 15:35)

motorcb
Člen | 552
+
0
-

@leninzprahy:

Funguje, díky. Máš u mne pivo :-)