Terve,
Törmäsin seuraavaan ongelmaan.
Lomake, joka avaa toisen lomakkeen ja avatusta lomakkeesta voi avata vielä kolmannen. Kaikki toimii ihan ok, mutta jos käyttäjä menee sulkemaan keskimmäisen lomakkeen, menetetään kontrolli kuka avasi ja kenet. Tarkoistus olisi, että kun kolmas lomake suljetaan, suljetaan myös toinen ja refreshataan ensimmäinen.
Miksi näin? Kolmatta lomaketta voi kutsua myös suoraan ensimmäiseltä ja kun se suljetaan, pitäisi saman koodin toimia myös siellä.
Nyt koodi on tallainen:
var win_ed = window.opener; if (win_ed == null) { // tää toimii, mutta miten lähettää alkuperäiselle avaajalle submit, kun // välilomake suljettu? alert('Käyttäjä sulkenut lomakkeen'); self.close(); } else { var win_main = win_ed.opener; } try { win_main.document.submit(); win_ed.close(); } catch(err) { try { win_ed.document.submit(); } catch(err) { } } try { window.close(); } catch(err) { alert('Ei onnistu'); }
Ideoita?
älä avaa popuppeja
Samip on asian ytimessä. Voit oikeiden popuppien sijaan avata vaikkapa "modaaleja ikkunoita" (valmiita fancybox ja lightbox -kopioita on pilvin pimein), jotka aukeavat loogisemmin sivujen sisään. Tällöin saat pidettyä paremmin kirjaa, miltä sivulta ja kuka "popupin" aukaisi. Tällöin ei myöskään haittaa, vaikka käyttäjällä olisi useampi lomake auki selaimen eri välilehdissä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.