2013-08-03 118 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在提交之前驗證輸入字段。 現在我可以在(document).ready上使用jQuery Form plugin驗證字段。喜歡的東西:

$('#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 formbuilder無法將輸入序列化到一起。我如何在這裏使用序列化插件? 我真的很不好。我不擅長JavaScript。

有人可以指導我。如果不清楚,我可以添加更多細節。我絞盡腦汁。還有其他方法嗎?請建議。

回答

0

嘗試使用序列化()函數

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

這個連載你從要素

+0

好吧,我想你讓我錯了。我想要一種獲取數據的方法:在數據中使用$(ul_obj).serializeFormList({prepend:opts.serialize_prefix })+「&form_id =」+ form_db_id +「&fname =」+ fname +「&lname =」+ lname部分。有一個插件函數可以用它自己的方式序列化它。如何獲得該部分? – LittleLebowski