Sivulla on iFrame, jossa täytettävä lomake. Kun lomake on täytetty, siirrytään seuraavalle sivulla. Jos siellä scrollaa sivun alareunaan ja palaa edelliselle sivulle, päädytään sinne lomakesivun loppuun. Miten saisin tehtyä niin, että näkymä palautuisi sivun alkuun? Nappulallahan tuo näyttäisi onnistuvan, mutta entä miten automaattisesti?
Mitäpä jos paluuta varten olisi oma linkki/painike ja sen osoitteessa olisi vaikka ankkuri: www.munsivu.fi/lomake#alkuun
Eli miksei se "nappula" kävisi. Varsinkin kun eri selaimet käsittelevät mainitsemassasi tapauksessa selaimen omaa "takaisin"-napin toimintaa kukin omalla tavallaan.
Siis seuraavalla sivulla on kyllä linkki paluuta varten, mutta eihän sitä kaikki käytä. Ja lomake-sivun lopussa oleva nappula ei kuulemma käy. Homman pitäisi sujua hyvin pitkälti niin, että käyttäjä ei huomaa mitään. Tai korkeintaan siihen tapaan, että sivu liukuu alkuun, kuitenkin itsestään ilman klikkailuja.
(No kuten sanoit) niin miten olisi, että sivun latauduttua sivu "pakotettaisiin" liukumaan alkuun...
Niin, miten se onnistuisi?
Vaikka jQueryllä (toisessa esimerkissä on skrollattu esim. 300px kohdalle)...
http://api.jquery.com/scrollTop/
Mä en kyllä saa tuota toimimaan, tuo demokaan ei ainakaan mulla toimi..
Blue82 kirjoitti:
Mä en kyllä saa tuota toimimaan, tuo demokaan ei ainakaan mulla toimi..
Jos laitat kriittisimmät kohdat koodistasi tähän näkyville tai vaihtoehtoisesti annat linkin kyseiselle sivulle niin olisi huomattavasti helpompi auttaa.
En toteutustapaan puutu mitenkään, jokainen tekee miten parhaaksi näkee, mutta onko erityistä syytä käyttää iframea?
Alkuperäinen koodi ei ole mun, eikä tarkoitus nyt ole siihen muita muutoksia tehdä kuin tuo skrollaus.
Täydennystä tietoihin: iframessa ja parentissa on eri domainit, lisäksi iframe on salattu ja parent salaamaton. Estääkö nuo seikat tässä kaikki mahdolliset ratkaisut?
Lisäys:
Nyt löytyi melkein toimiva ratkaisu:
jQuery(document).ready(function() { $('body iframe').load(function(){ $(window).scrollTop(0); }); });
tuossa on vaan se ongelma, että jos ensimmäisellä lomakkeella kliksutellaan nappuloita, sivu pomppaa siitäkin yläreunaan. Isolla resolla ei haittaa, mutta esim. 800x600 on jo vähän häiritsevää. Löytyykö tuohon joku ratkaisu? Mietin jotain onclick-tyyppistä juttua, että kun klikataan niin ei tapahdu mitään, mutta ei ole aavistustakaan toteutuksesta saati toimivuudesta.
Mod. lisäsi kooditagit!
Etkö pysty sijoittamaan tota skriptiä siihen iframella ladattavaan tiedostoon (tosin ilman tota "load"-funktiota).... just saying...
Tottakai pomppaa ylös. Jos nappulasi postbackaa, suoritetaan document.ready uudelleen.
Oletko kokeillut jättää iframen src:tä tyhjäksi ja laittaa jqueryä asettamaan sen jälkikäteen?
Esim.
$('iframe').attr('src', 'testi.php');
edit, itseasiassa ei välttämättä kannata jättää src:tä tyhjäksi vaan antaa jqueryn uusia se..
edit2, nyt kun muutamat testit teki niin näyttäisi toimivan vain chromella odotetusti ja muilla vähän niin ja näin..
Aihe on jo aika vanha, joten et voi enää vastata siihen.