Autor Zpráva
Luky
Profil
Zdravím,
dá se nějak ajaxem odeslat celý formulář. V jQuery moc neumím a zatím jsem odesílal vždy jen krátké formuláře. Vždy jsem to poslal jako postdata. Teď ale mám formulář velice obsáhlý a chtěl bych se zeptat, jestli jQuery neumí nějakou elegantní funkci, která by ajaxem odeslala celý formulář (pokud kliknu na submit). Ani nemusí vracet žádný výsledek, stačí jen, že se to odešle.

Děkuji za rady ;)
ShiraNai7
Profil
Pro data v ajaxu použij:
$('form#mujformular').serialize()
Luky
Profil
ShiraNai7:
Bezvadná funkce.
Díky, to je přesně to co jsem potřeboval ;)
Chamurappi
Profil
Reaguji na Lukyho:
Ale neumí všechno, co standardní odeslání formuláře. Třeba s uploadem souboru si neporadí a nezvládá hospodařit s jinými kódováními než UTF-8. Pokud stornuješ standardní odeslání, prohlížeč si neuloží údaje k automatickému dokončování.

Ani nemusí vracet žádný výsledek, stačí jen, že se to odešle.
Na to nepotřebuješ vůbec JavaScript.
Luky
Profil
Chamurappi:
Na to nepotřebuješ vůbec JavaScript.
Potřeboval jsem ajaxem odeslat celý formulář a nepotřeboval jsem čekat na odpověď pro uživatele (Vaše zpráva byla úspěšně odeslána - případně jiné hlášky které by vrátil daný soubor).

Co se týká těch obrázků, tak to je jasné, že nestačí odeslat jenom jméno. Chtěl jsem to vytvořit dalším ajaxem, který by zatím fotku nahrál a pak do formuláře vrátil odkaz na umístění uplaodovaného souboru.
Nakonec jsem to tam však nedával.
Chtěl bych se, ale ještě zeptat je tato metoda (odesílání formuláře ajaxem) bezpečná?
Mě to přijde úplně stejné, jestli hacker odchytí odeslané údaje z ajaxu nebo klasicky přes HTTP.
Byl by nějaký rozdíl kdybych používal SSL protokol a odesílal data ajaxem (respektive byla by odeslaná data šifrovaná i v tom ajaxu)?
A ještě jedna otázka. Pokud uživatel odešle ajaxem formulář a zavře prohlížeč, tak se požadavek dokončí? Dejme tomu, že javascript by stihl předat všechny data do souboru zpracuj.php, jenomže tomu bude chvíli trvat než všechna data zpracuje, a tak se ptám,co by se stalo, kdyby uživatel předčasně zavřel prohlížeč a nepočkal na dokončení scriptu?
ShiraNai7
Profil
Luky:
co by se stalo, kdyby uživatel předčasně zavřel prohlížeč a nepočkal na dokončení scriptu?

To záleží na serveru. Třeba PHP skript by se ve výchozím stavu ukončil, jakmile by se pokusil odeslat zpět nějaká data - to lze změnit funkcí ignore_user_abort().
_es
Profil
Luky:
Potřeboval jsem ajaxem odeslat celý formulář a nepotřeboval jsem čekat na odpověď pro uživatele
Prečo práve AJAXom? Snáď si potreboval len nejako odoslať formulár bez zobrazenia odpovede servera. No to naozaj JS nepotrebuješ a bude to bez nevýhod v [#4].

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: