我正在使用jQuery FormBuilder Plugin在我的应用程序中生成表单构建器。
问题是我还有另外两个输入字段需要与此一起提交。
我的表单结构如下:
<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
on(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 formbuilder 不会将输入序列化在一起。我如何在这里使用序列化插件?我真的很糟糕。我不是很擅长 javascript。
有人可以指导我。如果不清楚,我可以添加更多细节。我绞尽脑汁。还有另一种方法吗?请建议。