gpt4 book ai didi

php - 无法使用 jQuery 表单插件 ajaxForm 发布特定数据

转载 作者:搜寻专家 更新时间:2023-10-31 21:13:03 25 4
gpt4 key购买 nike

我正在尝试使用这两个 jQuery 插件:pluploadjQuery Form Plugin ajaxForm .

它工作正常,除了一件事:我无法发送之前使用 plupload 上传的文件的 file.name(使用 ajaxForm)。

我稍微解释一下:用户用plupload发送一个文件。文件已上传。它工作正常。

然后,用户使用 ajaxForm 提交表单,并使用 post 方法发送表单数据 + 文件名。

我知道如何使用 ajaxform 发送数据,这段代码工作正常:

var value1 = "dynamic_value1";
$('#my_form').ajaxForm({
// datas is sent in post method, it works fine
data: { value1: value1 },
beforeSubmit: validate,
success: function() {
// it's ok :
//alert(value1);
}
});

但是我不能用 pluplopad file.name 做到这一点,如果我发出警报但我无法发送它,我可以看到文件名:

Plupload 代码以获取文件名(有效):var file_name_vous;

uploader.bind('FileUploaded', function(up, file, response) {

// It's ok : i can get file name, alert show me the file name
file_name_vous = encodeURIComponent(file.name);
alert(file_name_vous);
//};
});
});

但我不能这样做,这段代码不起作用:

$participer_form.ajaxForm({ 
type: 'POST',
data: {
// impossible to send this var
file_name_vous: file_name_vous
},
beforeSubmit: validate,

// success
success: function() {
// It's ok, alert shows the file name
alert(file_name_vous);
}
});

所以我不明白的是,我可以用 post 方法发送数据,我已经测试过了。但我无法发送这个特定的 var:file_name_vous = encodeURIComponent(file.name);

你知道在尝试通过 post 方法发送之前我是否应该对 (file.name) 做些什么吗?

我没有错误,只是在 Firebug 网络/XHR 中,我没有看到任何关于此 var 的信息。如果我用 var value1 = "dynamic_value1"替换这个 var,它就可以工作。所以我想,我的问题是关于这个partuliar var file.name

最佳答案

也许您应该省略 ajax 表单的数据部分,并在成功上传后简单地创建一个隐藏字段,该字段将与您的表单一起提交。

像这样:

uploader.bind('FileUploaded', function(up, file, response) {

// It's ok : i can get file name, alert show me the file name
file_name_vous = encodeURIComponent(file.name);
// maybe you'll have to check if hidden filed already exists
$participer_form.Append($('<input type="hidden" value="'+file_name_vous+'" id="file_name_vous" name="file_name_vous"/>'));
//};

希望对你有帮助

顺便说一句,您是否尝试过尽可能晚地设置值?

uploader.bind('FileUploaded', function(up, file, response) {

// It's ok : i can get file name, alert show me the file name
file_name_vous = encodeURIComponent(file.name);
$participer_form.ajaxForm({
type: 'POST',
data: {
// impossible to send this var
file_name_vous: file_name_vous
},
beforeSubmit: validate,

// success
success: function() {
// It's ok, alert shows the file name
alert(file_name_vous);
}
});
});

关于php - 无法使用 jQuery 表单插件 ajaxForm 发布特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14957631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com