Aktivace AJAX pro formular + vypnuti validace
- M4RtY89
- Člen | 7
Zdravim,
testuju praci s AJAX formularem a pouzivam knihovnu
nette.ajax.js. S ni jsem prozatim spokojeny, a 99% prace
s AJAXem binduju pres js (nikoliv pres ajax classu). Pro formular mam
vytvorenou vlastni komponentu, kde bezi cela logika – try catch blok – bez
ajaxu to funguje.
$.nette.ajax({
'url': {link handlerLink!},
'data': data
});
Rad bych se zeptal na dve veci, ktere za boha nemohu nikde dohledat:
- Jak vypnu JS validaci formulare ($form->setRequired) – chci to vypisovat jako ($form->error) a na to mam snippet
- Jak mohu nabindovat AJAX pres JS a nikdoliv pridani tridy „ajax“?
Kdyz mam neco takoveho, tak mi formular nechce fungovat:
$("#frm-testForm").submit(function(e) {
$.nette.ajax({
'type': 'POST'
'url': $(this).attr('action'),
});
e.preventDefault();
});
- M4RtY89
- Člen | 7
Ne, tento parametr tam mam davno, toto akorat vypne validaci na strane prohlizece, ja chci vypnout validaci na strane serveru, tak jak se s tim pere nette, jak jsem zminil (setRequired parametr).
$form->addText('textName', 'name')->setRequired('Please, insert the value.');
Tady je priklad te hlasky, pokud zapnu ajax pres tu classu, tak mi to vraci alerty s touto hlaskou, a to bych rad vypnoul protoze to vracim pres $form->error
- FilipH
- Člen | 6
Podle
tohoto by mohlo stačit přidat do atributu formuláře
data-ajax-validate='{"form":false}'
.
Nebo:
$("#frm-testForm").submit(function(e) {
$.nette.ajax({
type: 'POST'
url: $(this).attr('action'),
validate: { form: false }
});
e.preventDefault();
});
Podobně „historické“ knihovně bych se ovšem raději vyhnul širokým obloukem, je-li možno. Ušetříš si dost překvapení.