Autor Zpráva
Mickey
Profil *
Ahoj, chtěl bych si dát do jednoduché html jeden inputtextbox, aby v něm bylo napsáno 2. trida a tento text byl selektovaný, jak na to ?

Moderátor Chamurappi: Původní titulek: „Jak programovat selected text?“
keeehi
Profil
Není ti rozumět. Popiš znovu co chceš, ale pořádně a inteligentně.
mckay
Profil
Mickey:
Nechceš třeba něco jako označit text uvnitř inputu? Nebo něco tak?
Před otazníkem se nedělá mezera.
Moderátor Chamurappi: Tématu upozorňování na pravopisné chyby se dále věnuje kopie tohoto vlákna.
Mickey
Profil *
"Nechceš třeba něco jako označit text uvnitř inputu? Nebo něco tak?"
Jo tak něco. Selected to je takové to vetsinou modré podsviceni textu..něco jako označit text.
keeehi
Profil
Mickey:
hledáš asi něco tokového:
<body onload="document.getElementById('idecko').select(); ">
<input type="text" name="policko" size="20" id="idecko" value="2.trida">
Mickey
Profil *
keeehi:

ano, zdá se, že to je přesně, co hledám.
imploder
Profil
Mickey:
moje funkce, která označí prvek s ID "words":
function select_all() {
  try {
    selection = window.getSelection();
    selection.removeAllRanges();
    range = document.createRange();
    range.selectNodeContents(document.getElementById('words'));
    selection.addRange(range);
  }
  catch(e) { // IE
    range = document.body.createTextRange();
    range.moveToElementText(document.getElementById('words'));
    range.select();
  }
}
function new_window(anchor) {
  if(window.open(anchor.href)) return false;
  else return true;
}


Větev catch(e) tam je speciálně pro Internet Explorer. V ostatních prohlížečích by měl fungovat standardní postup (větev try).
Mickey
Profil *
"imploder"
Díky. To bodlo. Jde o to, že programuji desktopové aplikace v C++ a výjimečně jsem chtěl něco odzkoušet :D Nechtělo se mi to složitě hledat :D
_es
Profil
imploder:
Načo vytváraš globálne premenné selection a range?
Ak niektorý prehliadač má tak nazvané nejaké vlastné predvolené globálne vlastnosti, tak môže nastať ťažko odhaliteľná chyba.
Chamurappi
Profil
Reaguji na implodera:
Proč užíváš na tohle try-catch, když můžeš podporu potřebných metod otestovat ifem?
imploder
Profil
_es, Chamurappi: Používám to takto, protože to tak funguje. Netvrdím, že je to nejlepší, komu se to nelíbí, může si to upravit jak uzná za vhodné. Nakopíroval jsem to sem jen jako funkční řešení na Mickeyho dotaz, teď s tím experimentovat nebudu. Na rozpoznávání podpory pomocí try-catch nevidím nic špatného - je s tím spojený nějaký problém?
_es
Profil
imploder:
Používám to takto, protože to tak funguje.

Ja som ťa len upozornil, že existuje teoretická možnosť, že v niektorom prehliadači by to fungovať nemuselo.
Alebo čo ak by si rôzne funkcie v rôznych skriptoch takto divoko definovali globálne premenné/vlastnosti s rovnakým názvom?
A pritom stačí definovať tie premenné ako lokálne cez príkaz var.
Chamurappi
Profil
Reaguji na implodera:
Na rozpoznávání podpory pomocí try-catch nevidím nic špatného
Pokud si omylem smažeš element s id="words", začne ti Mozilla hlásit na první pohled nesmyslnou chybu, že document.body.createTextRange není funkce.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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