0

uploadifyフォームが正常に機能していますが、プログラムで設定を変更したいのですが、エラーが発生します。

Uploadifyはdocument.readyで開始され、updateSettingsをボタンクリックにバインドしようとしています(これもdocument.readyで実行されます)。また、document.readyの外でupdateSettings関数を使用してみました。実際には、ボタン上またはインラインスクリプトで、同じエラーが発生します。

エラーは

Error: document.getElementById(a(this).attr("id") + "Uploader").updateSettings is not a function

そして私のコードは現在次のようになっています

<script>
$(document).ready(function(){

  $('#uploadify').uploadify({
    'uploader'  : 'uploadify.swf',
    'script'    : 'uploadify.php',
    'cancelImg' : 'cancel.png',
    'auto'      : true,
    'folder'    : '/uploads'
  });

  $("#changeIt").click(function(){
    $("#uploadify").uploadifySettings("folder","something_else");
  });

});
</script>

<input type="file" name="uploadify" id="uploadify" />

<a id="changeIt" src="#">Change the upload dir</a>

私が言ったように、私はdocument.readyの外にuploadifySettingsを追加しようとしました。また、同じエラーを取得するために、タグ自体のonclickで直接追加しようとしました。助けていただければ幸いです。

4

5 に答える 5

2

コードが間違っています。Uploadify は にバインドできません。<input type="file">にのみバインドでき<div/>ます。uploadify サイトのドキュメントと例を参照してください。

プログレッシブ エンハンスメントを行うために、要素<input type="file"/>と空の<div/>. 次に、JavaScript コードで入力要素を削除し、uploadify を初期化します。

<input type="file" name="uploadify" />
<div id="uploadify"></div>

<script type="text/javascript">
    jQuery(function($){
      $("input[name='uploadify']").hide().remove();
      $("#uploadify").uploadify({UPLOADIFY_PARAM});
      //a click handler to change uploadify param
      //...
    });
    </script>

ところで、uploadify のフォルダー パラメーターを考慮したことはありません。サーバー側のスクリプトでアップロード フォルダーを定義します。

于 2010-01-13T10:45:05.310 に答える
1

別の関数名を試してください。私は同様の問題を抱えていましたが、名前を変更して私の場合は問題updateSettings()updateForm()解決したことがわかりました。

于 2012-10-05T23:48:23.493 に答える
0

私は同じ問題に遭遇しました。同じページにauto:true別のがあり、完全に動作するため、 にバグがあるようです。uploadifyauto:falseuploadifySettings

私は回避策を作りました:

  • 自動を false に設定
  • onSelect、次のようにアップロードを送信します。

    ... 'onSelect' : function(event, data){ $('#someID').uploadifySettings('param', 'value'); $('#someID').uploadifyUpload(); } ...

h番目

于 2010-10-01T15:34:24.967 に答える
0

jquery ダイアログ ボックス内で Uploadify を使用すると、このエラーが発生しました。

解決策は、ダイアログの作成後に Uploadify を初期化することでした。

于 2011-03-31T01:57:12.453 に答える
0

アップロード コントロールが jquery ダイアログ内にあるときに、Chrome でこのエラーを受け取りました。

最終的にuploadifyを使用せず、jQueryアップロードファイルプラグインに切り替えましたhttp://hayageek.com/docs/jquery-upload-file.php

于 2016-08-04T15:20:56.853 に答える