javascript paste karaktercserével
Van egy formon egy sima text mezőm, amibe a felhasználók gyakran másolnak be adatot, xxx xxxxxx xxx formátumban (alkatrészek gyári száma). A gond hogy a bemásolt adatokban elméletileg nem lehetne space, viszont ha kézzel ír be adatot ugyanabba a mezőbe, abban lehet. Körulményes kitörölgetniük a spaceket, ezért arra gondoltam, hogy ha a beillesztés előtt kiveszem a zavaró karaktert, az megkönnyíti az életüket. Tehát el kéne kapnom a ctrl-v-t kivenni a felesleget, és utána beilleszteni.
Nem nagyon tudom hogy álljak neki, esetleg valakinek van tippje?
■ Nem nagyon tudom hogy álljak neki, esetleg valakinek van tippje?
sztem utána
mondjuk onchange eseményre akadsz rá, és akkor cseréled.
sztem közben
számokat kellett pontal 1000-es csoportokra tagolni, de a lényeg az ugyan az. A szövegmező onkeydown és onkeyup eseményéhez rendelsz egy javascript
függvényt.
A fv a következőt csinálja:
1. GetElementById-vel létrehozod a szövegmező objektumát.
2. A tartalmának beállítod a saját tartalmát spacek nélkül.
Erre lehet van függvény, ha nincs akkor írsz rá. Egyszerű,
végigmész a szövegmező tartalmán, és felépítesz belőle egy új
stringet, de a spacek nélkül.
nem ez kell sajnos
(az emailben erkező megrendeléseknél a kuncsaftok szeretik tagolni a gyári számot, amiben eredetileg nincs space, ezek mennek copy-pasteval. De az utánrendeleseket a gyár felé egy "gyáriszám színkód" mintával kell elküldeni, ezt csak kézzel irják be, ebben benne kell maradnia a spacenak. Mindez mellékes de hátha így lesz valakinek ötlete)
Ezért az utólagos ellenőrzés sajnos nem megfelelő.
más event?
MSIE alatt úgy tudom, van onpaste, meg onbeforepaste, meg ilyesmi, de ez más böngészőkben nemigen található meg.
Nem jó, ha onsubmitnál pucolod ki a mezőket?
Nem még mindíg nem :)
hát akkor...
Esetleg beteheted, hogy rögtön a gomb paste-zi be az adatot... csak azt mondjuk azt hiszem engedélyezni kell FF-ben külön. (Ebben nem vagyok biztos, utána kell nézni)
Az sem jó :)
Mindenesetre köszi a segítséget.
miért kliens oldalon