Autor Zpráva
Petroff
Profil
Všechny ostatní browsery tyto 2 příkazy [inp.focus();inp.select();] provedou, díky čemuž je umožněna jednoduchá editace - jednoduchým kódem. Jestli neexistuje nějaký ekvivalent pro FF, tak se picnu - pomozte.
<html>

<script>
function test(inp)
{
if (isNaN(inp.value))
{
inp.value='zadejte číslo';
inp.focus();
inp.select();

}
}
</script>
<form>
1.NUMBER <input type='text' onBlur="test(this)">
2.NUMBER <input type='text' onBlur="test(this)">
</form>
</html>
habendorf
Profil
Select neznám, focus funguje bez problémů.
Petroff
Profil
habendorf
focus funguje bez problémů.
Tak si to spusť bez toho select() => zjistíš že focus nefunguje (v ostatních FUNGUJE)
habendorf
Profil
Petroff

Já říkám že funguje focus, ne tvůj skript.
Joker
Profil
Petroff
alert(inp.focus) -> function focus(){ [native code] }
alert(inp.select) -> function select(){ [native code] }

Pokud se v tom příkladu funkci předhodí jiný prvek, normálně to funguje.
Zdá se, že Firefox nedovolí na onblur prvku zpátky označit ten samý prvek.
habendorf
Profil
Zdá se, že Firefox nedovolí na onblur prvku zpátky označit ten samý prvek.

Ona taky onblur podle mě není ta pravá událost pro testování.
Petroff
Profil
Nemáte nějaký nápad ? Třebas tedy přes nějaký pomocný prvek ? (tohle nerozchodit.... :-[
habendorf
Profil
No a zkoušel jsi to na onchange, nebo pořád lpíš na tom onbluru?
habendorf
Profil
BTW - v IE ti to nefunguje taky.
Petroff
Profil
pánové
A co takhle ? (Je to i s tím select()em,který naštěstí v FF funguje => bez něho by ani nebyl důvod to řešit)
<html>

<script>
function test(inp) {
if (isNaN(inp.value))
{
inp.value='zadejte číslo';
inp.select();
setTimeout(function(){inp.focus()},200);
}
}
</script>
<form>
1.číslo <input id="i1"type='text' onBlur="test(this)">
2.číslo <input id="i2" type='text' onBlur="test(this)">
</form>
</html>
los
Profil *
Áno, setTimeout je štandardné riešenie.
Petroff
Profil
ie67 opera FF => OK
Diky

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0