Sziasztok.
Van egy form azon pedig egy PrimeFaces-es autoComplete komponens és egy commandButton melynek megnyomásakor történik a backend rétegben valami majd ezután szeretném kitörölni az autocomplet tartalmát és a focust oda adni neki
RequestContext context = RequestContext.getCurrentInstance();
context.execute("document.getElementById(\"form:tab:cim_input\").value='';");
context.execute("document.getElementById(\"form:tab:cim_input\").focus();");
context.update("form");
A mező tartalmát szépen kitörli de a a focus továbbra is a commandButtonon marad. Mit nem csinálok jól?
- 1107 megtekintés
Hozzászólások
Csak találgatok, de megpróbálnám megcserélni:
context.update("form");
context.execute("document.getElementById(\"form:tab:cim_input\").focus();");
- A hozzászóláshoz be kell jelentkezni
Sajnos nem oldja meg.
Úgy sikerült megoldani, hogy a commandButton oncomplete eseményében hívok meg egy javaScript függvény, ami oda teszi a focust.
Nem sikerült rájönnöm, hogy a commandButton mit mókol a háttérben, mikor mi hívódik meg. Valószínűleg az action paraméterben megadott backingbean metódus lefutása után még történik valami, és hiába adom oda focust ebben a metódusban az autoComplete komponens input mezőjének, valami még történhet utána ami miatt vissza kerül a commandButtonra a focus.
- A hozzászóláshoz be kell jelentkezni