Autor Zpráva
nothrem
Profil
Potřebuju udělat to, aby po načtení stránky skočil fokus do určitého editu.

Na konec souboru (formuláře) jsem dal skript:
<script type="text/javascript" language="JavaScript">

<!--
//alert('Skočí tam'); //když odkomentuju tenhle alert, tak po jeho odklepnutí skočí kam má.
document.getElementById('0_vyrobek').focus();
//-->
</script>

ale v opeře (8.54) to nefunguje (v IE a FF to jde, ale to nepotřebuju). Fokus používám i jinde (jako reakce na tlačítka apod.) a funguje.

Zkoušením jsem zjistil, že když ze souboru odstraním definici css
<link rel="stylesheet" href="layout.css" type="text/css">
tak fokus funguje; jakmile přilinkuju třeba i prázdný css, už to nejde :( (zkoušel jsem to i s prázdným html jen s jedním editem a výsledek stejný).

Budu rád za jakoukoliv radu, díky.
tiso
Profil
Naviazal by som to na <body onload="...">, nepomôže?
nothrem
Profil
tiso: no to by fungovalo, ale problém je, že stránka je generována z různých šablon a k <body> se nedostanu (samozřejmě já se k němu dostanu, ale musel bych předělat šablonu a pak všechny stránky, co tu šablonu používají).
tiso
Profil
JS nie je moja parketa, možno by pomohlo nejaké oneskorenie v JS, alebo pridať ten skript na koniec stránky...
čo sa týka šablón nepomohla by nejaká výnimka?
nothrem
Profil
Už sem to vymyslel, jak upravit šablonu, ale neovlivnit ostatní stránky:

<head>

...
<script type="text/javascript" language="JavaScript">
<!--
default_focus = null;
function set_default_focus()
{
if (default_focus != null)
{
default_focus.focus();
}
}
//-->
</script>
</head>

<body onload="set_my_focus();">
...


Tam kde to nepotřebuju, funkce nic neudělá, tam kde chci focus, použiju:
<script type="text/javascript" language="JavaScript">

<!-- //nastavení prvku, který získá focus
default_focus = document.getElementById('jmeno_prvku');
//-->
</script>
Toto téma je uzamčeno. Odpověď nelze zaslat.

0