Autor | Zpráva | ||
---|---|---|---|
Niorko Profil |
Pri použití Jquery Mobile sa stránky načítavajú prostredníctvom ajaxu. Po načítaní stránky chcem, aby sa použil focus na input element, lenže narážam na problém, kedy sa po kliknutí na link a presmerovaní na stránku s loginom nič nestane.
document.getElementById('email').focus(); Edit: Tento script mám na danej stránke s formulárom... resp contentu, ktorý načítavam do Templatu cez codeigniter... |
||
Darker Profil |
#2 · Zasláno: 21. 5. 2012, 17:49:17
Jediné co mě napadá je možnost, že funkci voláš dřív než se element vytvoří.
Dodej víc informací. |
||
Niorko Profil |
Po vymazaní headeru s linkom na jquery mobile to funguje tak ako má... najskôr to je môj amaterizmus, ale s jquery mobile to proste nefunguje... Informácie.: Mám stránku s linkom na autentifikáciu... kliknem a stránka sa mi načíta, na danej stránke mám na konci formuláru <scriptp> s daným kódom.
|
||
Radek9 Profil |
#4 · Zasláno: 21. 5. 2012, 18:11:07
Niorko:
Neznám přesně tu tvoji architekturu, ale scripty načtené AJAXem se nespouští. |
||
Niorko Profil |
#5 · Zasláno: 21. 5. 2012, 18:13:43
A ako to teda riešiť?
|
||
Darker Profil |
#6 · Zasláno: 21. 5. 2012, 18:16:24
var script = document.createElement("script"); script.src = "http://mujweb/js/skript.js"; script.onload = function() {alert("Naceno");}; document.getElementsByTagName("head")[0].appendChild(script); |
||
Radek9 Profil |
#7 · Zasláno: 21. 5. 2012, 18:19:04
Darker:
To ale stále moc neřeší problém, protože zřejmě bude pro každou stránku potřeba jiný script a takhle by musel např. ke každé stránce mít nový JS soubor. Ještě se tu nabízí možnost si načíst všechny <script> elementy a prohnat je eval()em. |
||
Darker Profil |
#8 · Zasláno: 21. 5. 2012, 18:21:45
Radek9:
„<script> elementy prohnat eval()em.“ To ne. Co takhle používat hezky externí skript, jak všichni ostatní? Pak můžeš při dynamickém načítání stránky vracet taky seznam skriptů k načtení. |
||
Niorko Profil |
Darker:
Skript, ktorý si mi poslal funguje iba po refreshi stránky... =( V externom súbore je ale iba document.getElementById('email').focus();
|
||
Darker Profil |
Niorko:
„Skript, ktorý si mi poslal funguje iba po refreshi stránky... =(“ Tenhle skript používám pro dynamické načítání skriptů už dlouho, funguje kdykoli. Načítat jeden příkaz souborem není moc príma. Je tvůj web natolik komplexní, že si nemůžeš dovolit to „naprasit“ do funkce na načítání stránek? if(stranka=="registrace") document.getElementById('focus').focus(); |
||
Niorko Profil |
#11 · Zasláno: 21. 5. 2012, 18:37:01
Darker:
Možno aj mohol, ale to nemení na situácii, že je treba refreshnúť stránku... že by bola chyba zase v tom Jquery mobile? |
||
Niorko Profil |
#12 · Zasláno: 21. 5. 2012, 19:51:29
Focus vyriešený takto:
$(document).bind('pageshow', function() { $($('form :input:visible')[0]).focus(); }); |
||
Časová prodleva: 12 let
|
0