Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Bzozoo
    tag

    Sziasztok,

    Remélem jó topicba írok. :)
    IT területen dolgozom, de nem kódolás vagy fejlesztés, ezek távol állnak tőlem. Egy szolgáltatást szeretnék beüzemelni, aminek a működéséhez webszervert kell használni, ehhez pedig a gyártótól le kell tölteni egy előre elkészített, testreszabható weboldalt. A problémám az, hogy már az alap weboldal sem működik tökéletesen, és a kipofozás előtt ezt szeretném megoldani.
    Egy végtelenül egyszerű oldalról van szó, a html body-ban definiálva van egy form, ami tartalmaz egy hosszú szöveges részt, alatta pedig egy szöveges beviteli mezőt, és egy button-t. A szöveges mező email címet vár, és javascripttel vizsgálja, hogy tényleg emailt írt-e be a user. A gomb akkor használható, ha a beírt cím valóban egy email cím, és kattintásra a submitAction() metódust hívja meg. Ez a rész működik, ezzel nincs gond.
    A probléma akkor jelentkezik, amikor a user mobil eszközről (pl. telefon vagy tablet) nyitja meg az oldalt, rábök a beviteli mezőre, felugrik az on-screen keyboard, és a cím beírását követően nem kikattint a mezőből és a weboldalon elhelyezett gombot használja, hanem a billentyűzeten látható Enter/Go/Next/akármilyen gombra kattint. Ekkor nem az elvárt működés tapasztalható, és ez gondolom arra vezethető vissza, hogy ez az eset nincs lekezelve az oldalon. Ezt szeretném megoldani, az lenne az elvárt működés, hogy a billentyűzeten megjelenő Enter/Go/Next billentyű használatakor ugyanaz a submitAction() metódus hívódjon meg, mint ami a button onclick eseményénél van beállítva.

    A kódban a js részben 2 function van definiálva, submitAction() a gomb kattintáshoz és loadAction() a form betöltéséhez. Google alapján arra jutottam, hogy talán eseménykezelést kellene csinálnom a form-on létrehajtott submit eseményre, de lehet, hogy teljesen rossz úton járok.

    Tudtok segíteni nekem, hogy hogyan tudnám ezt megoldani, vagy merre induljak el?

    Köszönöm!

    Használj event key figyelést

  • nevemfel
    senior tag

    Ide felmásoltam az alap fájlt, a gyártótól ezt lehetett letölteni, ezt kezdtem el továbbfejleszteni. De az említett funkció már ebben sem működik, erre keresek megoldást.

    Rá tudsz pislogni kérlek, hogy esetleg látsz-e benne olyan hibát, ami ezt a jelenséget okozhatja?

    Köszönöm! :R

    Ránézve a kódra, én is ezt tenném, amit írtál:

    Google alapján arra jutottam, hogy talán eseménykezelést kellene csinálnom a form-on létrehajtott submit eseményre, de lehet, hogy teljesen rossz úton járok.

    A submit feliratú button type-ját buttonról submit-ra módosítanám, és levenném az onclick eseménykezelőt erről a gombról. A submitAction függvényt a form elem onsubmit eseményéből hívnám meg: <form method="post" onsubmit="return submitAction()">.

    A submitAction functiont is módosítani kell. Ha mehet a submit, akkor a submitAction true értékkel térjen vissza, ha nem, akkor false-al, tehát ezt: document.forms[0].submit(); , erre kell cserélni: return true;

    Na most ez az elmélet, kipróbálni nem próbáltam ki. Ami látszik a forráskódból, hogy ez egy nagyon régi script lehet, és én semmiféle validációt nem látok a submitAction-ben, így ez elvileg mindig végrehajtja a form submitet, bármi is van az email mezőben. Az sem világos, hogy a loadAction és a submitAction miért állítgatja a form action-jét, méghozzá ha jól látom, ugyanarra az értékre.

  • sztanozs
    veterán

    Sziasztok,

    Remélem jó topicba írok. :)
    IT területen dolgozom, de nem kódolás vagy fejlesztés, ezek távol állnak tőlem. Egy szolgáltatást szeretnék beüzemelni, aminek a működéséhez webszervert kell használni, ehhez pedig a gyártótól le kell tölteni egy előre elkészített, testreszabható weboldalt. A problémám az, hogy már az alap weboldal sem működik tökéletesen, és a kipofozás előtt ezt szeretném megoldani.
    Egy végtelenül egyszerű oldalról van szó, a html body-ban definiálva van egy form, ami tartalmaz egy hosszú szöveges részt, alatta pedig egy szöveges beviteli mezőt, és egy button-t. A szöveges mező email címet vár, és javascripttel vizsgálja, hogy tényleg emailt írt-e be a user. A gomb akkor használható, ha a beírt cím valóban egy email cím, és kattintásra a submitAction() metódust hívja meg. Ez a rész működik, ezzel nincs gond.
    A probléma akkor jelentkezik, amikor a user mobil eszközről (pl. telefon vagy tablet) nyitja meg az oldalt, rábök a beviteli mezőre, felugrik az on-screen keyboard, és a cím beírását követően nem kikattint a mezőből és a weboldalon elhelyezett gombot használja, hanem a billentyűzeten látható Enter/Go/Next/akármilyen gombra kattint. Ekkor nem az elvárt működés tapasztalható, és ez gondolom arra vezethető vissza, hogy ez az eset nincs lekezelve az oldalon. Ezt szeretném megoldani, az lenne az elvárt működés, hogy a billentyűzeten megjelenő Enter/Go/Next billentyű használatakor ugyanaz a submitAction() metódus hívódjon meg, mint ami a button onclick eseményénél van beállítva.

    A kódban a js részben 2 function van definiálva, submitAction() a gomb kattintáshoz és loadAction() a form betöltéséhez. Google alapján arra jutottam, hogy talán eseménykezelést kellene csinálnom a form-on létrehajtott submit eseményre, de lehet, hogy teljesen rossz úton járok.

    Tudtok segíteni nekem, hogy hogyan tudnám ezt megoldani, vagy merre induljak el?

    Köszönöm!

    Latatlanban annyi otletem van, hogy van a mezokre valami esemenykezelo, aminek nem kellene lennie, vagy a form esemenykezeloje nincs jol beallitva.

Új hozzászólás Aktív témák