Formulář & uložení JavaScriptem

12 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Mám průměrné znalosti html, css a php, ale vůbec neoplývám znalostmi JavaScriptu, tak bych potřeboval poradit: Na stránce page1 mám nějaký formulář, na konci tlačítko uložit, které data z formuláře předá např. stránce page2, která aktualizuje záznamy v mysql, až potud vše zvládám :) Teď bych chtěl nějak ošetřit, aby v okamžiku, kdy uživatel bude chtít přejít na jinou stránku bez uložení, tak vyskočilo okýnko s varováním "Neuložili jste aktuální data, přejete si je uložit?" a možnostmi ano (tzn. data z formuláře se odešlou na page2) a ne (dojde k přesměrování na stránku, kam uživatel původně chtěl. Na netu jsem tak nějak posbíral, že to ošetřím pomocí onUnload, které bude volat nějaký takovýhle skript: <script type="text/javascript"> promenna = confirm("Neuložili jste, chcete uložit?"); if (promenna) CO TO MÁ BÝT; else A CO MÁ BÝT TADY; </script> Takže jediný problém jsou místa CO TO MÁ BÝT a A CO MÁ BÝT TADY.. Prosím poradíte mi někdo jak na to? Předem mockrát děkuju..
  2. tak pokud bude true, tak bych folal něco jako nazev_formulare.submit(), return false; a v opačném případě asi return true;
  3. Vyzkouším - momentík...
  4. ale teď mě tak napadá, že událost on_unload nastane zřejmě i při odeslání na tu požadovanou stránku :-/
  5. Funguje to bezvadně, tohle jsem přesně potřeboval, ale ještě to má jednu mouchu: To okno mi tam skáče, i když kliknu na uložit pod formulářem - bylo by možný tenhle případ nějak odfiltrovat? Teď totiž dá člověk pod formulářem tlačítko uložit a vyskočí mu okno, že to neuložil, jestli to chce uložit a on to musí ještě jednou potvrdit :(
  6. jj, přesně to jsem psal nad tím :) ale zatím mě nenapadá, jak, snad by se dalo kontrolovat, jestli byl volán ten submit, zkusím popřemýšlet a kdyžtak dám vědět...
  7. No jo, koukám, odeslals to 14 vteřin přede mnou :) Prosím zkus popřemýšlet a kdyžtak dej vědět...
  8. <ot> to bylo 14 minut před tebou ;-) </ot>
  9. no možná na ten formulář připojit událost onSubmit="odeslano=true;" a pak na události onUnload přidat na začátek kontrolu if (odeslano) return false; ale nejsem si jist, kterou událost to zpracovává dříve a jestli to půjde, zkus to (jinak logicky by asi měl zpracovávat onSubmit, takže by to mohlo jít)
  10. Tak teď to nedělá vůbec nic :(
  11. Ale stačilo úplně na začátek stránky dát odeslano = false; a je to :) Už to běhá přesně tak, jak jsem si představoval, díky moc
  12. tož to jsem rád :)

← Zpět na všechna témata