1

ユーザーが画像をアップロードできるページと、それらの画像を送信するカテゴリフィールドでuploadifyを使用しています。これで、uploadifyが「scriptData」メソッドを提供し、キーと値のペアをuploadify.phpスクリプトに送信できるようになりました。ただし、問題は、scriptDataメソッドがページのロード(uploadifyの初期化)時にその値を取得することです。したがって、ユーザーがページ上で値を変更している場合でも、scriptDataにはページの読み込み時に存在していたデフォルト値しかありません。

とにかくこれの周りにありますか?

どうもありがとう!

考えられる解決策:マニュアルをさらに読んでいて、関数呼び出しを介して設定を変更できることを発見しました。おそらく正しい軌道に乗っていますか?

$('#fileInput').uploadifySettings('scriptData', getKeyValuePairs()).uploadifyUpload();

今それに取り組んでいます。

4

2 に答える 2

2

uploadify のコールバックフック onOpen または onSelect のいずれかを介して、ユーザーの入力の現在の状態を取得する必要があります。正しいものについては、ドキュメントを参照してください。アップロードが開始されるたびにユーザー入力の現在の状態をチェックする onOpen の方が信頼性が高いと思います。それでも、アップロードの進行中に他のユーザー入力を無効にするか、ユーザーにフォームの送信を要求する必要がある場合があります。そうしないと、最後のアップロードが開始された後に行われたユーザー入力が失われます。

とにかく、私は彼らのフォーラムでこれを見つけましたonOpen

$('#fileInput2').uploadifySettings(
'scriptData', 
{'ext':$('#dirTimeStamp').val(), 'ext2':$('#txtEmail').val()}
);

最終的な実装は次のようになります (デモ コードを使用):

<input id="fileInput" name="fileInput" type="file" />
<script type="text/javascript">// <![CDATA[
$(document).ready(function() {
$('#fileInput').uploadify({
'uploader'  : 'uploadify.swf',
'script'    : 'uploadify.php',
'cancelImg' : 'cancel.png',
'auto'      : true,
'folder'    : '/uploads',
'onOpen' : function(){
$('#fileInput').uploadifySettings(
    'scriptData', 
    {'ext':$('#dirTimeStamp').val(), 'ext2':$('#txtEmail').val()}
    );
}
});
});
// ]]></script>
于 2009-12-28T17:42:53.430 に答える
0

onOpen 内の scriptData を更新するコードを配置する以外に、アップロードを開始する前にそれを実行することもできます。これは、auto を false に設定すると実行できるため、uploadifyUpload()手動で呼び出す必要があります。

このスレッドで受け入れられた回答を見てください。

于 2010-01-05T13:26:00.640 に答える