Form submit JS - best practices
 
daniel 6. dec 2010 10:34:25 Pridružen od:
8. sep 2008
16 objav
3 0 0
#1

Pozdravljeni!



Pri programiranju aplikacije, sem naletel na problem, ki v bistvu to sploh ni ampak bi rad slišal le mnenje oz. vaše izkušnje!



Torej zanima me sledeče. Kateri je po vašem mnenju najboljši način potrjevanja html obrazcev oz. podajanje vrednosti, ki jih je vnesel uporabnik, JavaScript funkcijam?

- z jQueryem in funkcijo .submit ter uporabo

- onClick event npr. poslji(document.getElementbyId('inputid).value, ...) ali polsji(this)

- onSubmit(this) v form tagu in potem sklicevanje form.inputName.value?

- tretja možnost


všeč(0) ni všeč(0) spam(0)
 
Roky 6. dec 2010 10:42:16 Pridružen od:
9. apr 2008
2506 objav
3240 335 107
#2

Zakaj preprosto ne input type submit? Drugače pa če hočeš ajax porjevanje .seralize jquery.


všeč(0) ni všeč(0) spam(0)
rok.meglic@gmail.com - 031 492 148
 
selaz 6. dec 2010 10:48:28 Pridružen od:
1. maj 2007
92 objav
66 2 0
#3

Verjetno misli validacijo podatkov, ki jih pošilja. Če prideš skozi z JS je najboljše, da si napišeš par standardnih funkcij, ki preverjajo vsebino polj: numeric, integer, email, www,...



Včasih samo s kodo na klientu ne gre, npr. moraš preveriti ali vpisano uporabniško ime že obstaja. Takrat uporabiš ajax, jquery se mi zdi zelo dobra izbira.


všeč(0) ni všeč(0) spam(0)
 
Roky 6. dec 2010 11:03:26 Pridružen od:
9. apr 2008
2506 objav
3240 335 107
#4

Selaz, pomoje je bv, da pišeš javascript validacijo + PHP validacijo. Naredi raje on submit jquery('form').serialize() in pošlji to preko AJAX-a PHP-ju. potem submitaš in še enkrat preveriš formo!!!


všeč(0) ni všeč(0) spam(0)
rok.meglic@gmail.com - 031 492 148
 
ledi 6. dec 2010 11:26:01 Pridružen od:
14. avg 2008
681 objav
325 223 14
#5

v PHP jo moraš v vsakem primeru preveriti ponovno ker se da clientside skripte hacknit!

tako da client side v končni fazi niti ne vem kaj bi preverjal, če že preverjam kaj, preverjam z ajaxom kot so že rekli, username če je OK, email če še ni registriran...


všeč(0) ni všeč(0) spam(0)
 
selaz 6. dec 2010 12:13:59 Pridružen od:
1. maj 2007
92 objav
66 2 0
#6

Ajax ni nikoli samoumevna odločitev(vsaj pri meni ne). Kaj bi kompliciral z ajax validacijo npr. pri pošiljanju komentarjev pod članki, preveriš zgolj podatek z enim dobrim RegEx-om v JS in ne dovoliš vpisa, če kaj ni v redu. Se pa strinjam, da je treba v vsakem primeru pred vpisom v bazo stvar še enkrat preveriti na server strani.



Želim samo povedati, da ajax ni edini pravi način. Navsezadnje je ajax (pri validaciji) dodaten request do web serverja in pri večjih aplikacijah to še kako šteje.


všeč(0) ni všeč(0) spam(0)
 
SlimDeluxe 6. dec 2010 12:27:10 Pridružen od:
29. apr 2010
1223 objav
1022 144 9
#7

Pri clientu uporabiš osnovni JS validation, ob submitu pa seveda še v PHPju.



Lahko si pomagaš s ketchup pluginom za jQuery (morda je kakšen še boljši).



http://demos.usejquery.com/ketchup-plugin/


všeč(0) ni všeč(0) spam(0)
Freelance Web Developer
 
daniel 6. dec 2010 13:58:16 Pridružen od:
8. sep 2008
16 objav
3 0 0
#8

Očitno sem nelogično zastavil vprašanje. Nisem spraševal toliko po tem kakšen je najboljši način validacije.



Če razložim "po domače". V obrazcih imaš ponavadi neka vnosna polja, izbirna polja, ... Zanima me kateri je najboljši način, da vrednosti iz teh polj preneseš v JavaScript funkcijo, da lahko potem izvajaš validacijo ali kaj tretjega...



Sprašujem zaradi tega, ker imam obrazec, ki ima razmeroma veliko vnosnih polj in drugih stvari pa bi rad našel najbolj optimalen način za prenos vnešenih vrednosti do java script funkcij(e) oz. za dostop do teh vrednosti. shy :) hehe :)


všeč(0) ni všeč(0) spam(0)
 
blackmamba 6. dec 2010 14:42:15 Pridružen od:
4. mar 2008
559 objav
392 25 11
#9

Tako kot ti je Roky predlagal, celotno formo serializiraj z jquerijem in server side validiraj podatke in preko ajax-a izpiši napake zraven fieldov.



Če pa ima user javascript izklopljen pa lahko isto metodo uporabiš za validacijo v POST-u.


všeč(0) ni všeč(0) spam(0)
 
daniel 6. dec 2010 19:04:04 Pridružen od:
8. sep 2008
16 objav
3 0 0
#10

Ampak ta serialize ni vedno uporaben npr. ker nekatere znake pretvori nrp. @ ali podpičje (;)...


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se