JS input field focus

Sekcia o programovaní, programovacích jazykoch...
Používateľov profilový obrázok
materik
Používateľ
Používateľ
Príspevky: 2327
Dátum registrácie: Št 10. Apr, 2008, 14:00
Bydlisko: Prešov

JS input field focus

Príspevok od používateľa materik »

Potrebujem nastavit focus do input field-u po stlaceni tlacidla na stranke. Problem je v tom, ze ten input field nema ako HTML element ID, je generovany CMS-kom, viem sa tak akurat dostat k jeho name-u.

Dalsi problem je, ze aj name je generovane, takze na staticky string sa nemozem spoliehat. Viem jedine, ze
name pridaneho input fieldu, ktory chcem focusnut, vzdy konci takto "_attrPattern/id"

No a do tretice, nie je to jediny input field ktory sa zobrazi. :-)

Je nejaky rozumny sposob ako sa zafocusovat na ten jeden input field.

EDIT: tak sa mi podarilo ten task odsunut do pecka, ale ak niekto viete ako nato tak to tu mozte hodit
PC -> Topping DX7 Pro+ -> Meze 109 PRO / Microlab B77
Používateľov profilový obrázok
filuS
Používateľ
Používateľ
Príspevky: 548
Dátum registrácie: Ut 26. Aug, 2008, 13:14
Bydlisko: Presov, Slovakia

Re: JS input field focus

Príspevok od používateľa filuS »

najdolezitejsia otazka je, ze ci pouzivas jQuery alebo nie. Ak ano, tak si precitaj manual ako funguju selectory. Ak to chces cisto v javascripte tak pouzi funkciu "getElementsBySelector()". Ten dany selector bude vyzerat nejak takto:
'input[name$="_attrPattern/id"]'
cele by to imo (bez jQuery) vyzeralo nejak takto:

Kód: Vybrať všetko

var elements = document.getElementsBySelector('input[name$="_attrPattern/id"]');
elements[0].focus();
osobne by som to trosku uhladil tym, ze by som to hladal v nejakom kontexte a nie v celom documente. Cize ak sa da, tak si najprv selectni najblizsieho parenta s IDckom a v nom hladaj ten input.
Desktop
Spoiler: ukázať
Specs:
- AMD Ryzen 5 5600X + Noctua NH-U12S Chromax.black
- PowerColor Red Devil AMD Radeon RX 6700XT
- ASUS TUF Gaming B550M-PLUS
- Crucial Ballistix 32GB (4x8GB) 3600 MHz CL16
- Be Quiet! Pure Base 500DX Black + 5x Noctua fans
- Corsair RM650x + CableMod PRO ModMesh C-Series Kabel Kit (Black/Red)
- Samsung 970 EVO Plus 500GB + ADATA XPG SX8200 Pro 1TB
- Sound Blaster Z
OS: Windows 10 Home 64bit
Monitor: Zowie by BenQ XL2546K + Eizo FS2333
Peripherals:
- Logitech G PRO Superlight + Artisan Hien L Mid Wine Red
- Logitech G915 TKL (red)
- Audio-Technica ATH-G1WL
Používateľov profilový obrázok
materik
Používateľ
Používateľ
Príspevky: 2327
Dátum registrácie: Št 10. Apr, 2008, 14:00
Bydlisko: Prešov

Re: JS input field focus

Príspevok od používateľa materik »

dakujem, kuknem na to. S tym focusnutim sa blizsie by nemal byt problem, tak snad s tym nebudem blbnut :-)
PC -> Topping DX7 Pro+ -> Meze 109 PRO / Microlab B77
Používateľov profilový obrázok
glirpi
Používateľ
Používateľ
Príspevky: 1270
Dátum registrácie: Ne 09. Máj, 2010, 03:36
Bydlisko: Handlova / okres PD

Re: JS input field focus

Príspevok od používateľa glirpi »

keby vam tam bezalo jquery tak..

Kód: Vybrať všetko

<script type="text/javascript">
	$(document).ready(function()
	{
		$('input[name$="_attrPattern/id"]').focus();
	});
</script>
I♥C64 0,97Mhz CPU, 64KB RAM, VIC-II GPU (320x200 multicolor / 16 farieb) a aka zabava..
Spoiler: ukázať
PC: CPU: INTEL Core i5-9600KF / CPU-COOLER: NZXT Kraken X52 / MB: GIGABYTE Z390 M / RAM: Corsair 16 GB KIT DDR4 3600 MHz CL18 Vengeance LPX / SSD: WD Black SN750 NVMe SSD 1 TB / DVD-RW: - / PSU: Seasonic X-Series 560W / CASE: NZXT H400 / VGA: GIGABYTE GeForce RTX3060 GAMING OC 12GB / SOUND: SOUND BLASTER AE-7 / SPEAKERS: - / HEADPHONES: BEYERDYNAMIC DT 770 PRO (80 ohm) / LCD: DELL UltraSharp U2717D 27" / KEYBOARD: DELL Premier Wireless Keyboard / MOUSE: DELL KM717 / GAMEPAD: MICROSOFT Xbox 360 wireless controller / OS: MICROSOFT Windows 10 PRO 64Bit

Návrat na "Programovanie"