2013-08-03 2 views
0

Я использую jQuery FormBuilder Plugin для создания формы в моем приложении.Как проверить форму ajax?

Проблема: у меня есть еще два поля ввода, которые необходимо отправить вместе с этим.

Моя форма структура выглядит следующим образом:

<script> 
    $(function() { 
     $('#my-form-builder').formbuilder({ 
      'save_url' : 'examplesave', 
      'load_url' : 'examplejson', 
      'useJson' : true 
     }); 
    }); 
</script> 

<form id="myForm"> 
    <input type="text" id="fname" /> 
    <input type="text" id="lname" /> 
    <div id="my-form-builder"></div> 
</form> 

Я редактировал файл jquery.formbuilder.js, добавляемых другие два поля ввода:

// saves the serialized data to the server 
      var save = function() { 
        var fname= $('#fname').val(); 
        var lname= $('#lname').val(); 

        if (opts.save_url) { 
         $.ajax({ 
          type: "POST", 
          url: opts.save_url, 
          data: $(ul_obj).serializeFormList({ 
           prepend: opts.serialize_prefix 
          }) + "&form_id=" + form_db_id + "&fname=" +fname + "&lname=" +lname, 
          success: function() {} 
         }); 
        } 
       }; 

До сих пор, так хорошо. Это прекрасно работает. Проблема заключается в том, что я хочу использовать jquery Validate plugin для проверки полей ввода перед отправкой. Теперь я могу использовать jQuery Form plugin на (document).ready, чтобы проверить поля. Что-то вроде:

$('#myForm').ajaxForm(
       { 
        type: "POST", 
        url: "examplesave", 
        data: ????????????????????????????????? 
        beforeSubmit : function() { 
         $("#myForm").validate({ 
          rules : { 
           fname : { 
            required : true 
           }, 
           lname : { 
            required : true 
           } 
          }, 
          messages : { 
           fname : "Please enter...", 
           lname : "Please enter..." 
          } 
         }); 
         return $("#myForm").valid(); 
        }, 
        success : function() {} 
       }); 

Но как я могу получить данные

data: $(ul_obj).serializeFormList({ 
            prepend: opts.serialize_prefix 
           }) + "&form_id=" + form_db_id + "&fname=" +fname + "&lname=" +lname 

часть? Он просто представляет форму, так как она составляет &. Формирователь jQuery не позволяет сериализовать входы вместе. Как я могу использовать плагин serialize здесь? Я действительно застрял. Я не очень хорошо разбираюсь в javascript.

Может кто-нибудь мне посоветует. Я могу добавить более подробную информацию, если это не ясно. Я расстраиваюсь от мозга. Есть ли еще один подход к этому? Пожалуйста, предложите.

ответ

0

попробуйте использовать функцию сериализации()

... 
    data:$("#myForm").serialize(); 

это Serialize все, что вы из элементов

+0

Ну, я думаю, вы меня не так поняли. Я хочу, чтобы получить данные: $ (ul_obj) .serializeFormList ({ preend: opts.serialize_prefix }) + "& form_id =" + form_db_id + "& fname =" + fname + "& lname =" + lname, в данных часть. Существует функция плагина для ее сериализации по-своему. Как получить эту часть? – LittleLebowski

Смежные вопросы