Nurul Watoni
Nurul Watoni

Reputation: 37

Javascript Form Validation Multiple Using Placeholder

I have a form validation will check each input whether valid or not, but the problem is when the only one input valid then all input is considered valid. I have transferred return true location, but it does not change anything.

Any help would be greatly appreciated.

<form action="me.php" method="post" id="myform" onsubmit="return(val());">
  <input type="text" name="name" placeholder="Nama Anda *" class="i-form na"/>
  <input type="text" name="email" placeholder="Alamat E-mail *" class="i-from em"/>
  <input type="text" name="subject" placeholder="Judul Pesan *" class="i-form su"/>
  <textarea class="i-form isi" placeholder="Isi Pesan *"></textarea>
  <input type="submit" value="Send" class="btn"></input>

     function val(){
    var nama = $('.na').val();
    var email = $('.em').val();
    var subject = $('.su').val();
    var isi = $('.isi').val();
    if(nama === ''){
      $('.na').attr('placeholder','Masukkan Nama Anda');
      if(email === ''){
        $('.em').attr('placeholder','Masukkan E-mail Anda');
        if(subject === ''){
          $('.su').attr('placeholder','Masukkan subject Pesan');
            if(isi === ''){
              $('.isi').attr('placeholder','Masukkan Isi Pesan');
              return false;                  
            }
        }
      }
    } else {
      return true;
    }
    }

Upvotes: 2

Views: 81

Answers (2)

Piyush.kapoor
Piyush.kapoor

Reputation: 6803

 function val(){
var nama = $('.na').val();
var email = $('.em').val();
var subject = $('.su').val();
var isi = $('.isi').val();

if (nama && email && subject && isi) {
   return true;
}
if(nama === ''){
  $('.na').attr('placeholder','Masukkan Nama Anda');
  if(email === ''){
    $('.em').attr('placeholder','Masukkan E-mail Anda');
    if(subject === ''){
      $('.su').attr('placeholder','Masukkan subject Pesan');
        if(isi === ''){
          $('.isi').attr('placeholder','Masukkan Isi Pesan');
          return false;                  
        }
    }
  }
} 

Upvotes: 0

Sun Liren
Sun Liren

Reputation: 156

Just check all the inputs as you say.

function val(){
    var nama = $('.na').val();
    var email = $('.em').val();
    var subject = $('.su').val();
    var isi = $('.isi').val();
    var flag = true;
    if(nama === ''){
        $('.na').attr('placeholder','Masukkan Nama Anda');
        flag = false;
    }
    if(email === ''){
        $('.em').attr('placeholder','Masukkan E-mail Anda');
        flag = false;
    }
    if(subject === ''){
        $('.su').attr('placeholder','Masukkan subject Pesan');
        flag = false;
    }
    if(isi === ''){
        $('.isi').attr('placeholder','Masukkan Isi Pesan');
        flag = false;                  
    }
    return flag;
}

Upvotes: 3

Related Questions