Naja – změna textu submit tlačítka při odesílání formuláře
- pavelinnuendo
- Člen | 33
Ahoj,
mám v Nette formulář, který má prvek:
$form->addText('name', '')->setRequired('Zadejte prosím jméno');
Nyní potřebuji, aby po odeslání takového formuláře se změnil text na submit tlačítku (protože je to api a může to chvíli trvat), to udělám takto:
$(document).ready(function() {
$("#sendForm:submit").click(function() {
$(this).html(
'<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> Ukládám...'
);
});
});
Potíž je v tom, že když to povinné pole name
není
vyplněno (a vyskočí alert s tím textem), změní se obsah toho submit
tlačítka též. Jak mohu docílit toho, aby se tento kód provedl jen po
úspěšné validaci formuláře?
Díky!
- Pepino
- Člen | 257
Tohle nemá s najou nic společného.
https://github.com/…etteForms.js#L204
$(document).ready(function() {
$("#sendForm:submit").click(function() {
if (Nette.validateForm($(this).closest('form'), true)) {
$(this).html('<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> Ukládám...');
}
});
});
Nějak takhle by to mohlo fungovat.
- pavelinnuendo
- Člen | 33
Aha, díky moc! Navěsil jsem to přímo na ten formulář, přes to closest mi to nefungovalo.
$(document).ready(function() {
$('form#frm-leadForm').submit(function(e) {
if (Nette.validateForm(this, true)) {
$("#sendForm").html('<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> Ukládám...');
}
});
});