JQuery表单插件-将对象传递给Success函数
我使用JQuery表单插件通过Ajax发送表单。我从不同的地方拼凑了代码,除了一件事之外,一切都很完美JQuery表单插件-将对象传递给Success函数,jquery,ajax,jquery-forms-plugin,Jquery,Ajax,Jquery Forms Plugin,我使用JQuery表单插件通过Ajax发送表单。我从不同的地方拼凑了代码,除了一件事之外,一切都很完美 成功后PHP处理文件中的数据将输出到(即“message sent”响应)。该的ID当前在函数中设置。我想做的是能够在函数之外设置该ID,这样它就更容易重用,但我一辈子都无法解决如何将该ID传递到函数中。因为: 我无法在success:部分设置任何参数,我只能命名函数 我似乎无法以任何其他方式传递参数,也就是说,我无法向success函数添加额外的参数,即writeOutput(data,di
成功后
PHP处理文件中的数据将输出到
(即“message sent”响应)。该
的ID当前在函数中设置。我想做的是能够在函数之外设置该ID,这样它就更容易重用,但我一辈子都无法解决如何将该ID传递到函数中。因为:
success:
部分设置任何参数,我只能命名函数writeOutput(data,divID)
,在别处定义divID
$(formOne).ajaxForm({
beforeSubmit: function() {
return $(formOne).validate({
// validation rules
}).form();
},
beforeSend: function() {
// beforeSend actions
},
success: writeOutput
});
function writeOutput(data) {
var $out = $('#output');
if (typeof data == 'object' && data.nodeType)
data = elementToString(data.documentElement, true);
else if (typeof data == 'object')
data = objToString(data);
$out.append('<div>'+ data +'</div>');
}
$(formOne).ajaxForm({
提交之前:函数(){
返回$(formOne)。验证({
//验证规则
}).form();
},
beforeSend:function(){
//在发送操作之前
},
成功:writeOutput
});
函数writeOutput(数据){
var$out=$(“#输出”);
if(typeof data=='object'&&data.nodeType)
data=elementToString(data.documentElement,true);
else if(数据类型=='object')
数据=目标定位(数据);
$out.append(“”+数据+“”);
}
那么如何在
writeOutput()
函数之外定义ID(当前为#输出)?不确定这是否有效,也不是直接答案
对于“我无法在success:部分设置任何参数”,您可以执行以下操作:
$(formOne).ajaxForm({
beforeSubmit: function() {
return $(formOne).validate({
// validation rules
}).form();
},
beforeSend: function() {
// beforeSend actions
},
success: writeOutput,
context: { extra_arg: 'some_value' }
});
function writeOutput(data) {
var extra_var_val = this.extra_var; //the extra argument
var $out = $('#output');
if (typeof data == 'object' && data.nodeType)
data = elementToString(data.documentElement, true);
else if (typeof data == 'object')
data = objToString(data);
$out.append('<div>'+ data +'</div>');
}
$(formOne).ajaxForm({
提交之前:函数(){
返回$(formOne)。验证({
//验证规则
}).form();
},
beforeSend:function(){
//在发送操作之前
},
成功:writeOutput,
上下文:{extra_arg:'some_value'}
});
函数writeOutput(数据){
var extra\u var\u val=this.extra\u var;//额外参数
var$out=$(“#输出”);
if(typeof data=='object'&&data.nodeType)
data=elementToString(data.documentElement,true);
else if(数据类型=='object')
数据=目标定位(数据);
$out.append(“”+数据+“”);
}
传递到“context”中的任何内容都将成为回调函数的上下文。希望它能起作用