Jav*_*avi 6 html javascript forms jquery jeditable
在的文档jeditable为submitdata PARAM(一个参数包括在Ajax请求一些额外参数)这是说:
(混合)submitdata:提交内容时的额外参数.可以是返回哈希的哈希值或函数.
Run Code Online (Sandbox Code Playgroud)$(".editable").editable("http://www.example.com/save.php";, { submitdata : {foo: "bar"}; }); $(".editable").editable("http://www.example.com/save.php";, { submitdata : function(value, settings) { return {foo: "bar"}; } });
所以我需要在submitData中包含一些我从表单序列化中恢复的参数:
<form id="myForm">
<input type="hidden" name="param1" value="myValue1"/>
<input type="hidden" name="param2" value="myValue2"/>
</form>
Run Code Online (Sandbox Code Playgroud)
所以,当我准备提交数据时,我做:
submitdata : function(value, settings){
return $("#myForm").serializeArray();
}
Run Code Online (Sandbox Code Playgroud)
问题是以这种方式序列化表单会产生如下格式:
[Object { name="param1", value="myValue1"}, Object { name="param2", value="myValue2"}]
Run Code Online (Sandbox Code Playgroud)
但是jeditable不理解它并且它在请求中发送
0[name] param1
0[value] myValue1
1[name] param2
1[value] myValue2
Run Code Online (Sandbox Code Playgroud)
我尝试过使用serialize()函数,但它不理解它,因为Jeditable需要类似的东西:
{param1: "value1" , param2: "value2"}
Run Code Online (Sandbox Code Playgroud)
有没有办法以可编辑的所需格式序列化表单,或者在序列化后快速更改格式?
谢谢.
我可以解决它从序列化数组构建对象的问题,但我不知道这是否是最好的方法。
submitdata : function(value, settings){
var reformat = function(array){
var obj = {};
for(i=0; i<array.length; i++){
var a = array[i];
var name = a.name;
var value = a.value;
obj[name] = value;
}
return obj;
};
return reformat($("#myForm").serializeArray());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4676 次 |
| 最近记录: |