Проверка с помощью jQuery - PullRequest
       0

Проверка с помощью jQuery

1 голос
/ 11 января 2011

Хорошо, поэтому я хочу проверить некоторые поля в форме, если установлен флажок. Я делаю регистрационную форму, где они могут оплатить чеком позже или кредитной картой тут же.

Они выберут свой способ оплаты с помощью флажка, и я хочу сделать следующее: если они решат оплатить с помощью кредитной карты, то эти поля должны быть проверены, однако, если они решат оплатить чеком, эти поля не понадобятся. быть подтвержденным. Есть ли способ сделать это с помощью jQuery.

Ответы [ 2 ]

0 голосов
/ 11 января 2011

Небольшое редактирование из сценария от Каспара Клейне:

$(function(){
  $('#checkboxPaymentType').bind('change', function () {
     if ( $(this).attr("checked") ){
       $('#ccNumber').hide();
       $('#checkValue').show();
     }
     else{
       $('#ccNumber').show();
       $('#checkValue').hide();
     }
  });
  $('form').submit(function(e){
    var form_ok = true;
    $(this).find("input,select,textarea").filter(":visible").each(function(){
      if ( $(this).val() == '' ){
        form_ok = false;
        return false;
      }
    });
    if ( !form_ok ){
      e.preventDefault();
      alert('blabla');
      return false;
    }
    else
      return true;
    }
  });
});
0 голосов
/ 11 января 2011

да,

  • вы можете переключать класс в полях, которые будут проверяться при смене флажка.

  • настроить ваш валидатор на проверку только тех элементов, к которым применен этот класс.

Было бы неплохо с точки зрения пользовательского интерфейса использовать элементы формы, которые не нужны для заполнения. Например: номер кредитной карты может быть скрыт, когда пользователь выбирает оплату чеком. В этом случае вам нужно только проверить те поля, которые :visible

примерно как:

$('#checkboxPaymentType').bind('change', function () {
       $('ccNumber').hide();
       $('checkValue').show();
});

$("#paymentForm").validate({ignore:':hidden'});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...