Sziasztok! (itt is)
A form
-mal kapcsolatban lenne pár kérdésem:
Adott az alábbi form:
https://jsfiddle.net/kceyLghv/
A mögöttes JS-t nem raktam bele, annyit csinálnak, hogy ha beütök bármit a keresőmezőbe, akkor megjelenik jobb oldalon a keresési feltételek törlése gomb (searchtext-clear-link
) (ami kitörli a szöveget), mellette jobbra maga a keresőgomb (search-link
).
Erre a keresőgombra van beállítva maga a kereső funkció. Keresés után pedig megjelenik bal oldalon egy vissza nyíl (search-exit-link
), amivel ki lehet lépni a keresési felületből.
Szóval nincs a standard submit gomb, mert csak az input textre van szükségem, azzal pedig a meghívott függvény dolgozik.
A problémám az, hogy az első indításkor, és csakis a legelső indításkor ha belekattintok a keresési mezőbe és entert ütök (beállítottam, hogy ha üres a mező, akkor ne hívja meg a keresési függvényt, szóval ebben az állapotában semmit sem kellene csinálnia), akkor újratölti az oldalt.
Miután újratöltötte, azt látom, hogy a címmezőbe beírta a link végére azt, hogy ?#
. (https://oldalcime.hu/?#
)
Ha ott van a végén a ?#, akkor hiába ütöm az entert az üres mezőre, "jól működik", nem tölti újra az oldalt. És ha eleve úgy nyitom meg a lapot, hogy beírom az oldal címe után a ?# karaktereket, akkor sem tölti újra az enterrel.
Láttam, hogy a # karakter az az "üres" form action miatt lehet ott: action="#"
, mert ha ezt a részt kitörlöm, akkor a link végén csak a kérdőjel (https://oldalcime.hu/?
) van.
Olvastam, hogy alapból úgy működik a form, hogy Submit után úrjatölti az oldalt. Ez meg lehet akadályozni: event.preventDefault();
Viszont ugye mivel nincs submit gombom, így nincs mihez hozzá kapcsolnom. Pedig szerintem az enter az üres keresési mezőbe pont a submit-ot triggereli, az "üres" action-t (action="#"
).
Szerintetek hogyan lehet ezt megoldani?
Esetleg mégis legyen egy submit gombom, és azt alakítsam át valahogy egy keresési ikonná, és annak adjak valahogy egy onclick tag-et?
Vagy eleve felesleges így a form, és elég lenne valami más input field (nem a textarea), ha már úgyis külön gombbal és függvénnyel dolgozok?
Köszi.