andrisp Posted March 16, 2006 Report Share Posted March 16, 2006 Ir forma ar daudz <input type="text"> elementiem, kuriem klāt ir sakabināti onChange events. Aptuveni šādi: <input type="text" onchange="return check(this); " /> onChange eventam darbība ir tāda, ka viņs aktivizējas, kad es pēc izmaiņu veikšanas attiecīgajā <input type="text" /> uzklišķinu kautkur citur lapā vai uz cita <input type="text" /> Problēma ir tur, ka onChange events neaktivizējas, ja es pēc <input> izmainīšanas pa taisno spiežu uz Submit pogas. It kā <input type="text"> izmaiņas ir notikušas, bet events netiek palaists (izsaukts). Un forma nosubmitojas - nepareiza. Link to comment Share on other sites More sharing options...
bubu Posted March 16, 2006 Report Share Posted March 16, 2006 A kam tev vajag uz onchange pārbaudīt validāti? Parasti to dara uz onsubmit formas elementam, un ja forma nevalīda, tad paziņo kļūdu un nesubmito tālāk. P.S. Tik atceries, ka tāpat nāksies php galā visu pārbaudīt, jo JS var vienkārši atslēgt. Link to comment Share on other sites More sharing options...
Grey_Wolf Posted March 16, 2006 Report Share Posted March 16, 2006 andrisp--> pieliec klaat "blur" apstraadi --> ja tiks aktivizeets cits elements tad tiks izsaukta shii notikuma apstraade .... Link to comment Share on other sites More sharing options...
andrisp Posted March 16, 2006 Author Report Share Posted March 16, 2006 (edited) A kam tev vajag uz onchange pārbaudīt validāti?Parasti to dara uz onsubmit formas elementam, un ja forma nevadīda, tad paziņo kļūdu un nesubmito tālāk. P.S. Tik atceries, ka tāpat nāksies php galā visu pārbaudīt, jo JS var vienkārši atslēgt. Man ir tāda WEB aplikācija, kur galvenais ir nodrošināties pret lietotāja nejaušajām kļūdām. Ja viņš pacentīsies un izslēgs javascript, tad pats vainīgs. Lapu nonest tāpat viņs nevarēs (cerams :)). onChange ir vajadzīgs tāpēc, ka vajag <input type="text" /> validāti pārbaudīt on-the-fly. andrisp--> pieliec klaat "blur" apstraadi --> ja tiks aktivizeets cits elements tad tiks izsaukta shii notikuma apstraade .... Īsti nesaprotu kā viņš jālieto. Mēģināšu pagūglēt. Nomainīju onchange pret onblur, un drošības pēc vel <input type="submit" /> elementam pieliku klāt onsubmit="this.focus(); ". Tagad ja tiek nospiesta Submit poga, izmetas alerts, ja kāds no laukiem ir nepareizi aizpildīts, vienīgi forma jau tāpat nosubmitojas. Vai var uztaisīt, lai onsubmit pirms atgriež true (un forma nosubmitojas) pārbauda vai kāds no onblur nav izmetis alert, par to, ka attiecīgais <input type="text" /> elements ir nepareizi aizpildīts ? Cerams domu sapratāt. Edited March 16, 2006 by andrisp Link to comment Share on other sites More sharing options...
Grey_Wolf Posted March 16, 2006 Report Share Posted March 16, 2006 (edited) dari apmeeram shaadi: kad nospiezj submitu --> aizmet uz f-ju kas paarbauda formas validaati visus laukus peec kaartas ja kaads no laukiem ir tuksh tad izmet alertu un ar tobashu blur/focus aizmet uz doto lauku ja visi lauki ir OK. tad f-ja nosubmito formu .... viss... principaa taa f-ja apmeeram shaadi (Pseido kodaa) ... if( lauks.value ='') { aleert ('pashol nah lauks ir tuksh'); lauks.focuss..... return false; } utt tikai beigaas foma.submit..... return. true ------- apmeeram shaadi edit: nush vel variants: izmanto submit vietaa parastu pogu kuru nospiezjot tiek izsaukta f-ja (teiksim blah) function blah() { if....i Var mesag='Tu ko? Gribi shos datus apstraadaat?'; var blahblah=confirm(mesag); if (blahblah) { vajadziigaa_forma.submit() } else { alert ('Patc vainiigs ka negribi'); } } -------- :) Edited March 16, 2006 by Grey_Wolf Link to comment Share on other sites More sharing options...
v3rb0 Posted March 16, 2006 Report Share Posted March 16, 2006 tā validācija ir kāda - onkeyup onchange vietā neder? Link to comment Share on other sites More sharing options...
andrisp Posted March 17, 2006 Author Report Share Posted March 17, 2006 izmēģināju onkeyup - kaitinoši :).. Link to comment Share on other sites More sharing options...
bubu Posted March 17, 2006 Report Share Posted March 17, 2006 Tieši tā, andrisp!! Šāda validācija ir ļoti kaitionša! Labais stils GUI veidošanā (man liekas es kautkur to teicu jau) saka, ka nevajag nekādus paziņojumus/aizliegums rādīt lietotājam formas editēšanas laikā. To vajag tikai uz apstiprināšanu (submitošanu) darīt! Labākajā gadījumā, ko realtaimā var darīt, ir iekrāsot piemēram lauku sarkanu, vai izsaukuma zīmi/krustiņu blakām parādīt, bet nekādā ziņā nerādīt alertus vai ko tml. Tas kaitina. Lietotājam vajag atļaut izdarīt visu ko viņš grib, un tikai tad sākt pārbaudīt, kad viņš ir beidzis. Link to comment Share on other sites More sharing options...
andrisp Posted March 17, 2006 Author Report Share Posted March 17, 2006 tev ir taisnība, bet manā gadijumā tur var būt pat 200 inputi nu vairāk, katram var būt atšķirīgas atļautās vērtības. piemēram, vienam inputam vērtības var būt tikai 100 .. 200 .. 300 ...... 1600.. 1700 citam atkal 30 .. 60 .. 90 utt. līdz kautkādam noteiktam skaitlim, kuram jādalas ar 30 bez atlikuma. un vispār man katram inputam klāt vēl ir arī '-' un '+' zīmītes ar kurām var samazināt vai palielināt inputa vērtību.. tā on-the-fly validācija ir tiem, kas sadomāsies ciparus vadīt ar roku.. Link to comment Share on other sites More sharing options...
bubu Posted March 17, 2006 Report Share Posted March 17, 2006 Un? Tas skaits taču neko nemaina. Tak kautvai 1000 lauku varēja būt. Link to comment Share on other sites More sharing options...
andrisp Posted March 17, 2006 Author Report Share Posted March 17, 2006 Nu moš arī. Bet nu es atstāšu kā ir. Man liekas, ka manā gadijumā on-the-fly validācija der. Link to comment Share on other sites More sharing options...
bubu Posted March 17, 2006 Report Share Posted March 17, 2006 Neiet jau runa par derēšanu vai nederēšanu. Gan tavs, gan mans variants der jebkurā situācijā, bet usability tavam variantam nu nebūs labaks par to ko es teicu. Link to comment Share on other sites More sharing options...
Grey_Wolf Posted March 17, 2006 Report Share Posted March 17, 2006 andrisp--> es piekriitu bubu , it iipashi ja tev ir daudz tie lauki, tad var rasties (un 100% radiisies), ka lietotaajs, netceras/nezin preciizi ievadaamos datus.... kameer vinsh domaa (paklikskjina uz citiem laukiem) lec tas alert :( kaada tev starpiiba? uzraksti mazinju f-ju kas pamaina text kraasu ;) un alert vietaa izsauc to (teiksim nekorekti dati sarkans, korekti zaljsh) Lietotaajam prieks un arii tevi kaa programmetaaju noveertees stipri augstaak :) Link to comment Share on other sites More sharing options...
andrisp Posted March 17, 2006 Author Report Share Posted March 17, 2006 Nav īsti tā kā tu saki par to atcerēšanos (manā gadijumā), bet par to iekrāsošanu es padomāšu. Jāpamēģina. Link to comment Share on other sites More sharing options...
Recommended Posts