GedroX Posted February 24, 2006 Report Share Posted February 24, 2006 (edited) Uzrakstīju tādu js skriptiņu (jaunā versija šeit), kas pieļauj tikai skaitļu (reālu, veselu, pozitīvu vai negatīvu) ievadi teksta laukā. Paste vēl nefiltrē. Varbūt vēlāk. P.S. Ja kādam noder, pasakiet paldies. =P Kas atradīs, kas Opera-i nepatīk, kad kursors atrodas pašā sākumā (metode expand izmet kļūdu), tam baranka no manis. ^_^ Rediģēts: !!!!! Operas bugs apiets !!!!! Rediģēts: !!!!! Jaunais skripts tagad filtrs balstīts uz RegExp !!!!! Edited February 27, 2006 by GedroX Link to comment Share on other sites More sharing options...
bubu Posted February 24, 2006 Report Share Posted February 24, 2006 Dikti nesmuki, ka nav visur lietots var keywords. Ja jau vienā lietā lieto, tad visur vajag, citādi kods ne pēc kā neizskatās. Vēl ieteikums - likt mierā tos selection range's. Tev taču nevajag daļu no lauka vērtības izgriezt, bet gan visu kopā vajag paņemt - input_lauks.value un miers. Kā arī - lietot regexpus, lai pārbaudītu vai teksta formāts ir atbilstošs, būs gan daudz lasāmāk, gan īsāk. Ja būtu Opera, tad patestētu, bet to taču vienkārši var noskaidrot uzliekot pāris alertu un redzot, kurā vietā skripts izdos undefined ārā. (vai gadījumā nebija tā, ka Opera neatbalsta tos visus selection range's?) Link to comment Share on other sites More sharing options...
GedroX Posted February 24, 2006 Author Report Share Posted February 24, 2006 > Dikti nesmuki, ka nav visur lietots var keywords Pats nekad neizmantoju. Gabals bija no neta. Bet tas šobrīd nav galvenais. > Vēl ieteikums - likt mierā tos selection range's. Tev taču nevajag daļu no lauka vērtības izgriezt, bet gan visu kopā vajag paņemt - input_lauks.value un miers. Lieta tāda - divi punkti (decimālatdalītāji) skaitlī nevar būt. To mans skripts apzinās. Bet es jau varu iezīmēt kādu teksta daļu, kurā IR punkts (tas tiks pārrakstīts) un skriptam IR jāļauj punktu ierakstīt. > Kā arī - lietot regexpus, lai pārbaudītu vai teksta formāts ir atbilstošs, būs gan daudz lasāmāk, gan īsāk. Ja es pārbaudu nevis nospiesto, bet gan ievadīto, tad būs teksta ievades lauka "mirgošana". Parādās - pazūd... Stulbi izskatās. Man ir ideja, kā varētu vienkāršāk ar regExp-iem, bet tā nav tik primitīva, kā tu iedomājies =) > Ja būtu Opera, tad patestētu, bet to taču vienkārši var noskaidrot uzliekot pāris alertu un redzot, kurā vietā skripts izdos undefined ārā. (vai gadījumā nebija tā, ka Opera neatbalsta tos visus selection range's?) Tur tā lieta, ka exception viņai krīt laukā tikai, kad kursors atrodas input-a sākumā. Mystics. Link to comment Share on other sites More sharing options...
bubu Posted February 24, 2006 Report Share Posted February 24, 2006 Pats nekad neizmantoju. Gabals bija no neta. Bet tas šobrīd nav galvenais. Slikti, tu piekop nelabu programmēšanas stilu - tu visus mainīgos definē kā globālus. Lieta tāda - divi punkti (decimālatdalītāji) skaitlī nevar būt. To mans skripts apzinās. Bet es jau varu iezīmēt kādu teksta daļu, kurā IR punkts (tas tiks pārrakstīts) un skriptam IR jāļauj punktu ierakstīt.Nekā nesapratu. Ja es pārbaudu nevis nospiesto, bet gan ievadīto, tad būs teksta ievades lauka "mirgošana". Parādās - pazūd... Stulbi izskatās. Man ir ideja, kā varētu vienkāršāk ar regExp-iem, bet tā nav tik primitīva, kā tu iedomājies =) Tieši tā jau arī jādara - jāpārbauda uzrakstītais. Un ar regexpiem tas ir ļoti vienkārši, pats tā visulaiku daru. A nevis n-tos if nosacījumus rakstu. Tur tā lieta, ka exception viņai krīt laukā tikai, kad kursors atrodas input-a sākumā. Mystics. Kodu tak padebugo, nevis kursoru pārvieto. Pie tam - labais GUI veidošanas stils (usability) saka, ka vajag atļaut visu ko lietotājam ievadīt datu ievades lauciņos lauciņā, bet sākt bļaustīties un uzrādīt kļūdas tikai tad, kad tiek apstiprināts datu ievads (webā piemēram pie formas submitošanas). Link to comment Share on other sites More sharing options...
GedroX Posted February 24, 2006 Author Report Share Posted February 24, 2006 Slikti, tu piekop nelabu programmēšanas stilu - tu visus mainīgos definē kā globālus. Paldies! Godīgi sakot pats nezināju atšķirību.. o_O Nekā nesapratu.Žēl... Tieši tā jau arī jādara - jāpārbauda uzrakstītais. Un ar regexpiem tas ir ļoti vienkārši, pats tā visulaiku daru. A nevis n-tos if nosacījumus rakstu. Tagad arī ir uz RegExp. Un viss skaisti, tīri, nekādas kursora lēkāšanas pie nekorektas ievades. Kodu tak padebugo, nevis kursoru pārvieto.Tā arī darīju, starp citu. Kāpēc te visi brauc augumā. Za*** totāli. Bet kad šiem prasa kautko (ko pats neesmu nekad īsti darījis), šie mēmi un saka, lai paši tiekot galā. Funking stulbi! Iesakiet kādu ārzemju PHP forumu. Tinos prom. Pie tam - labais GUI veidošanas stils (usability) saka, ka vajag atļaut visu ko lietotājam ievadīt datu ievades lauciņos lauciņā, bet sākt bļaustīties un uzrādīt kļūdas tikai tad, kad tiek apstiprināts datu ievads (webā piemēram pie formas submitošanas). A ja nu klients pieprasa? ;) Nu tomēr laukā `cena` nevajadzētu rakstīt kkādas muļķības. Link to comment Share on other sites More sharing options...
v3rb0 Posted February 24, 2006 Report Share Posted February 24, 2006 (edited) par labo usera interfeisa veidošanas stilu.. man atkal liekas ka labs variants ir ļaut rakstīt jebko, bet tikko ieraksti muļķības tā ievades lauks maina krāsu - piem. kā http://www.nordlb.lv/lv/tools/calculators/loancalc/ jo: 1. userim nerodas iespaids ka būtu tā kā bez rokām, jo nevar neko ierakstīt. 2. normāls useris, izlabos ievades kļūdu un tad spiedīs submitu- ietaupās usera laiks un serverim nav lieku reizi jāsaka ka saņemtie dati netika cauri validācijai. 3. sliktais useris, kas speciāli gribēs burtus cenas vietā iedabūt, tāpat apies javascriptu un aizsūtīs burtus uz serveri. Edited February 24, 2006 by v3rb0 Link to comment Share on other sites More sharing options...
GedroX Posted February 24, 2006 Author Report Share Posted February 24, 2006 1. Klients prasa - klients saņem. Un vispār. Tu nekad neredzēsi šīs formas, ja netaisies strādāt GEMā. 3. Servera validācija stingrākā. Pat personas kodus pēc checksum validē. Link to comment Share on other sites More sharing options...
v3rb0 Posted February 24, 2006 Report Share Posted February 24, 2006 1. formas esmu redzējis pietiekam - īpaši par to nekreņķējos ka neredzēšu viņas :p Link to comment Share on other sites More sharing options...
bubu Posted February 24, 2006 Report Share Posted February 24, 2006 v3rb0: es tieši tā arī gribēju pateikt, laikam par striktu pateicu, ka nekādīgi nedrīkst rādīt userim, ka kļūda. Biju domājis tādu iekrāsošanu tieši var, bet nevajag aizliegt kautko sliktu ievadīt vai mest messageboxus ārā. GedroX: klients ne vienmēr zin, ko viņš grib (viņš tikai iedomājas, ka zin). Vajag mācēt paskaidrot kā ir labāk. P.S. [0-9] == \d Link to comment Share on other sites More sharing options...
GedroX Posted February 27, 2006 Author Report Share Posted February 27, 2006 P.S. [0-9] == \d Uzskatu pierakstu [0-9] pārskatāmāku gadījumā, kad regulārā izteiksme nav no vienkāršākajām. Link to comment Share on other sites More sharing options...
Delfins Posted February 27, 2006 Report Share Posted February 27, 2006 Un ja ciparu robežai pieliks klāt kādu vēl simbolu (kad ar \d viss buus štokos)? ko tad darīsi? PS: tāpēc jau tika ieviesti šādi šortkati - \d \W \w \s \S ... Link to comment Share on other sites More sharing options...
GedroX Posted February 27, 2006 Author Report Share Posted February 27, 2006 Un ja ciparu robežai pieliks klāt kādu vēl simbolu (kad ar \d viss buus štokos)? ko tad darīsi? PS: tāpēc jau tika ieviesti šādi šortkati - \d \W \w \s \S ... Kas par ciparu robežu??? =D Link to comment Share on other sites More sharing options...
Recommended Posts