2015-06-05 2 views
2

У меня есть форма, к которой применяется валидатор JQuery. Я не буду размещать все это, но код выглядит следующим образомПлагин проверки достоверности JQuery, передающий данные

var validator = $("#my_form").validate({ 
    errorPlacement: function(error, element) { 
     $(element) 
      .closest("form") 
       .find("#error") 
        .append(error); 
    }, 
    rules: { 
     emailAddress: { 
      require_from_group: [1, '.datagroup'], 
      email: true, 
      maxlength: 40 
     }, 
     mobileNumber: { 
      require_from_group: [1, '.datagroup'], 
      number:true, 
      minlength: 8 
     } 
    }, 
    messages: { 
     emailAddress: { 
      maxlength: jQuery.validator.format("shorter") 
     }, 
     mobileNumber: { 
      number: jQuery.validator.format("Please enter a number"), 
      minlength: jQuery.validator.format("Please enter a valid number") 
     } 
    }, 
    groups: { 
     datagroup: "emailAddress mobileNumber" 
    }, 
    submitHandler: function (form) { 
     $.ajax({ 
      type: "POST", 
      url: "php/main.php", 
      data: $(form).serialize() 
     }) 
     .done(function (response) { 
      $('#results').html(response) 
     }); 
     return false; 
    } 
}); 

Проблема заключается в том, что обработчик представить передается всю форму, а затем эти данные сериализации и отправлены в main.php. Тем не менее, я больше не хочу, чтобы формат, в котором он отправил mobileNumber. Причина в том, что я теперь использую плагин, который будет форматировать этот номер для меня, и чтобы получить значение этого, мне нужно сделать

var mobileNumber = $("#mobileNumber").intlTelInput("getNumber"); 

Я также могу захватить электронное письмо с помощью val(), чтобы это также можно было присвоить переменной. Итак, как я могу передать main.php переменные mobileNumber и emailAddress?

Благодаря

ответ

1

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

$.ajax({ 
    type: "POST", 
    url: "php/main.php", 
    data: { 
     'emailAddress': $("#mobileNumber").intlTelInput("getNumber"), 
     'mobileNumber': $("selector").val() 
    } 
}) 
Смежные вопросы