Javascript form doğrulama olaylar

4 Cevap php

Ben bir php uygulaması için küçük bir form yapmak ve javascript doğrulama ile ilgili bir soru vardı duyuyorum.

Giriş değeri javascript doğrulama çalıştırmak için en iyi olay nedir? O "focusOut" olay mı?

Ben aslında "focusOut" ama onlar hala formunda, herhangi bir alanda odaklanmış iken kullanıcı hits girdiğinizde zaman sorun oluşturur.

Kullanıcı tıkladığında gönderdiğinizde ben js doğrulama çalıştırmak gerekir?

Sadece bazı tavsiyeler arıyorum.

Teşekkürler!

Atmak

4 Cevap

Belki yanlış ve ben sık sık, ama yerine focusOut kullanarak, kullandığınız denemek isteyebilirsiniz. Değiştirmek ()

Onlar Return tuşuna basın bile bu, kullanıcı metin kutusuna girilen değeri ne olursa olsun kayıt olmanız gerekmektedir. Odak form alanına kayıp olduğunda esasen kullanıcı sekme tuşunu vurursa Aslında, kayıt, gereken metin dışında herhangi bir yere tıkladığında, Gönder düğmesini tıkladığında, ve.

Kullanıcı tıkladığında gönderdiğinizde ben js doğrulama çalıştırmak gerekir?

Eğer formun gerçek göndermek olayı geçersiz varsa, gönder düğmesine ve ne zaman kullanıcı return tuşuna bastığında hem çekecektir.

$('#yourForm').submit(function () {
  // validation ...
  if (valid) {
    return true;
  }
  return false;
});

Bu ilginç bir tasarım soru ve sadece teknik bir fazla. Kullanıcı, ayrıldığında her alanını kontrol ederseniz, bir sonucu olarak alan değeri "geçerli" değildir, en azından eğer bir şekilde sizin doğrulama result gösteren olacak. O da ele alınması gereken veya rahatsız edici olacak.

Şahsen ben göndermek üzerine doğrulamak için bir sorun daha az olduğunu düşünüyorum, ama insanlar onlar ile yapıldı diliyorum şey geri dönün ve yeniden düşünmek zorunda için büyük formlar için kafa karıştırıcı olabilir. Söylediğin gibi Ayrıca, yine teslim anda doğrulama ile çeşit-sıkışmış demektir.

JQuery Validation eklentisi kontrol etmek isteyebilirsiniz: http://docs.jquery.com/Plugins/Validation

Varsayılan olarak, bu hatalar varsa o alanın onchange olayı doğrular, teslim tarihinde doğrular.