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 | 552
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> </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
- motorcb
- Člen | 552
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 :(