これら 2 つの jQuery プラグインを使用しようとしています: pluploadとjQuery フォーム プラグイン ajaxFormです。
それは 1 つのことを除いて正常に動作します: 以前に 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);
}
});
だから私が理解していないこと、ポストメソッドでデータを送信できること、私はそれをテストしました。しかし、私はこの特定の var を送信できません: file_name_vous = encodeURIComponent(file.name);
post メソッドで送信する前に (file.name) を処理する必要があるかどうか知っていますか?
エラーはありません。単にfirebugネットワーク/ XHRで、この変数について何も表示されません。この var を var value1 = "dynamic_value1" に置き換えると、機能します。だから私の問題は、このpartuliar var file.nameに関するものだと思います