Autor Zpráva
quatzael
Profil
Potřeboval bych poradit jestli existuje nějaká metoda jak pomocí javascriptu nebo jquery zjistit, že uživatel do textového inputu vložil hodnotu z nabídky automatického dokončování. Nefunguje metoda click, protože ten dropdown list pro automatické dokončování je už mimo element.

Předem díky za všechny rady!
_es
Profil
Javascript - vyvolani udalosti
quatzael
Profil
dík za odpověď, tohle řešení mě taky napadlo, ale upřímně moc nevím jak na to... V jQuery jsem si napsal tenhlescript, ale ten se provede jen jednou.. Nevím jak to udělat, aby to neustále vyhodnocovalo tu podmínku. Nějak zacyklovat to nechci..

  var val;
  var abc;
  
$(document).ready(function(){ 

 abc = $("#myinput").val();
 
 if (abc != val)   
  {
   val = abc;
   window.alert(val);
  }
    
  });  
peta
Profil
quatzael:
document.getElementById("myinput").onkeydown
Udalost onkeydown? Nevim, jak se to pise v jquery, asi keydown. Urcite je na to v manualu priklad.
quatzael
Profil
tuhle událost znám, ale to přece neřeší situaci, kdy myší kliknu na výběr z nabídky automatického dokončování.. ??
_es
Profil
(function(){var i = document.getElementById("myinput"), v = i.value;
setInterval(function(){if(i.value !== v){ v = i.value; niečo sprav}}, 50)})();
Toto by malo v intervale 50 ms zachytiť aj zmeny, ktoré sa v tom príbuznom vlákne nedarili zachytiť cez udalosti.
quatzael
Profil
_es:

Díky. To je to co jsem potřeboval!! Akorát mi to bohužel nějak nefunguje.. U toho v = i.value; mi to hází tohle: Nelze načíst hodnotu vlastnosti value: Objekt má hodnotu Null nebo není definován.

Id mám správně, tak netuším kde může být chyba..
_es
Profil
quatzael:
kde může být chyba
Tipujem, že v tom, že element s takým id vtedy ešte neexistuje.
quatzael
Profil
já ho tam opravdu mám, tohle jsem kontroloval hned..
_es
Profil
quatzael:
já ho tam opravdu mám
element s takým id vtedy ešte neexistuje.
Teda asi neexistuje v čase, keď ten kód spustíš a vznikne až neskôr, daj ho preto za input s takým id.
quatzael
Profil
dal jsem to hned za ten input, prve byl až za atributama name, type, class atd.. ale to asi na to nemá vliv.. zkusil jsem i odstranit všechny ostatní scripty a furt to ukazuje to samý..
_es
Profil
quatzael:
dal jsem to hned za ten input
Ukáž! (Prosím o odkaz na živou ukázku.)
quatzael
Profil
<input id="myinput" name="set-item" type="text" maxlength="6" size="10" class="required-item" />
_es
Profil
quatzael:
Viď [#12] => Co živá ukázka není?
quatzael
Profil
tady je ta živá ukázka:

Ukázka Input
_es
Profil
quatzael:
Prečítaj si znovu a teraz pozorne [#8] a [#10].
peta
Profil
Tag script mas v tagu head. Zatim jeste neexistuje tag body. Pokud v tom script spoustis nejaky kod hned na zatim neexistujicim inputu, tak to napise error.
Tag script mas tedy dat az za tag input. V lepsim pripade az tesne pred /body. Nebo prepsat script tak, aby se spoustel az po nacteni tagu body.

e> Tipujem, že v tom, že element s takým id vtedy ešte neexistuje.
e> Teda asi neexistuje v čase, keď ten kód spustíš a vznikne až neskôr, daj ho preto za input s takým id.
To je nestastne napsana veta. Element teda neexistuje .... daj ho ... (ho = element, ale myslel kod)
quatzael
Profil
_es:
já jsem Tě špatně pochopil, myslel jsem, že mám dát id za "input".. teď mi došlo, že myslíš script.. má to logiku..

teď už to funguje tak jak má!! Díky moc!!

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:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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