Vícenásobné odeslání formuláře

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

Zdravím.
Proti vícenásobnému odeslání formuláře pomáhá omezení javascriptem:

$("form").submit(function() {
        alert("submit");
        var el = $(this).find(":submit, :image");
        el.attr("disabled", "disabled");
        setTimeout(function() {
                el.attr("disabled", "");
        }, 5000);
});

Ovšem tato funkce se mi vůbec nezavolá. Jquery mam v projektu.

Formulář generuji takto:

protected function createComponentTaskForm()
{
    $form = new Form();
    $form->addText('text', 'Úkol:', 40, 100);
    $form->addSubmit('create', 'Vytvořit');
    $form->onSuccess[] = $this->handleMarkDone;
    return $form;
}

Formulář v html vypada takto:

<form action="/?do=taskForm-submit" method="post" id="frm-taskForm">
   <table>
     <tr>
	<th><label for="frmtaskForm-text">Úkol:</label></th>
	<td><input type="text" size="40" maxlength="100" class="text" name="text" id="frmtaskForm-text" value="" /></td>
     </tr>
     <tr>
	<th>&nbsp;</th>
	<td><input type="submit" class="button" name="create" id="frmtaskForm-create" value="Vytvořit" /></td>
     </tr>
   </table>
<div><!--[if IE]><input type=IEbug disabled style="display:none"><![endif]--></div>
</form>

Nevedel by nekdo kde delam chybu? Diky za rady

Ot@s
Backer | 476
+
0
-

Máš to $("form").submit(function() {}); v něčem jako $(document).ready(function() {});? Jestli ne a navíc to voláš před samotným výskytem <form></form>, tak to ani nemůže fungovat.

motorcb
Člen | 551
+
0
-

Ot@s:

Diky za info.
Pridal jsem to do:

$(document).ready(function() {
   $("form").submit(function() {
        alert("submit");
        var el = $(this).find(":submit, :image");
        el.attr("disabled", "disabled");
        setTimeout(function() {
                el.attr("disabled", "");
        }, 5000);
   });
}

A stále nefunguje :(

Ot@s
Backer | 476
+
0
-

Co na to JS chybová konzola? Nějaký error? Co tento kód, jaké hodí číslo – spustí se vůbec?

$(document).ready(function() {
	alert("Pocet formularu v HTML: "+$("form").length);
});
motorcb
Člen | 551
+
0
-

Ot@s:

Diky za nakopnuti. Byl preklep v kodu.
Mas u mne pivo :)