SORU
24 EKİM 2010, Pazar


Son eleman .() her set

Basit bir form doğrulama yapıyorum, doğrulama eklentisi benim için yapamayacağı bazı şeyler özel ihtiyaçları olan bir sorunu var. Temelde, adı, e-posta ve mesaj alan var, hepsi gerekli, ama e-posta gerçekten doğrulanır sadece, diğerleri sadece onlar değil boş olmadığını kontrol etmek gerekir. İşte benim geçerli kod:

$("#contactMe form").submit(function() {
    var email = $('.requiredEmail').val();
    if(email != 0)  {
        if(isValidEmailAddress(email))  {
            $('.requiredText').each(function() {
                thisVal = $(this).val();
                var $this = $(this);
                if(thisVal != 0) {
                    console.log('Valid Field: ' thisVal);
                    if ($(this) == $(this).parent(':last')) {
                        console.log('Last field, submit form here');
                    }
                }
            });
        } else {
            console.log('Email Not Valid');
        }
    } 
    return false;
});

Sadece açıklamak için, e-posta adresi çalışan isValidEmailAddress fonksiyonu ile geçerli olup ilk kontrol ediyorum. Sonra her kullanmaya başladım(), tüm requiredText alanları ve onlar değilse boş bakıyorum. Son requiredText alana vardığımda, ne olursa olsun form kullanarak post ya da göndermek istiyorum.

if ($(this) == $(this).parent(':last')) { var açıkcası Ne yanlıştır ama her sonuç kümesinde son, ve eğer gerçek bir eylem olmadığını kontrol etmek için kullanılır ne olduğundan emin değilim.

Biri bana yardım edebilir mi?

Şimdiden teşekkürler.

CEVAP
24 EKİM 2010, Pazar


each işlev index element geçer. Set uzunluğu karşı index kontrol ve gitmek için iyi bir konum:

var $set = $('.requiredText');
var len = $set.length;
$set.each(function(index, element) {
      thisVal = $(this).val();
      var $this = $(this);
      if(parseInt(thisVal) != 0) {
          console.log('Valid Field: ' thisVal);
          if (index == len - 1) {
              console.log('Last field, submit form here');
          }
      }
});

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bratayley

    Bratayley

    30 Aralık 2010
  • Sergio Fernandez

    Sergio Ferna

    1 EKİM 2009
  • steven johns

    steven johns

    11 Mart 2011