2016-08-19 19 views
0

FileUploadを詳細モードで使用しています。私はそれが動作する同じアプリケーションの別のページで前にそれを使用しました。 しかし、私は別のページでもう一度それを使用しようとしています。 3つのボタン(選択、アップロード、キャンセル)が表示されます。ファイルを選択すると、「アップロード」と「キャンセル」のボタンが有効になりますが、選択したファイルはボタンの下に表示されません。アップロードボタンを押すとFileUpload:選択したファイルがプレビューに表示されない

、私は次のメッセージが表示されます(と私のハンドラが呼び出されることはありません):

Uncaught TypeError: Cannot read property 'submit' of undefined

出典:?fileupload.js.xhtml LN = primefaces & V = 5.2:1つの I javascriptでデバッガを探しています。エラーは、次のコードブロックで発生します。

upload: function() { 
    for (var a = 0; a < this.files.length; a++) { 
     this.files[a].row.data("filedata").submit() 
    } 
}, 

私はこのエラーが原因でファイルを選択した後、発生していると思う、それはファイルが、データ(「FILEDATA」)という名前の配列に追加されるも」が存在し、doesnの必要がありますファイルには存在しません。したがって、スクリプトはsubmitメソッドを何も定義されていないものとして呼び出そうとします。私は未定義のものは、ファイルを選択した後に追加する必要があり、追加されていない入力であると思います。

この問題の原因は何ですか?

FileUploadが動作しているページとallowTypesが指定されていますが、このページではテキストファイルをアップロードしており、allowTypes属性は指定されていません。画像ファイル(gifまたはpng)を選択しようとしましたが、どちらも表示されません。この場合、アップロードとキャンセルのボタンは無効のままです。 allowTypesを指定して不良ファイルを選択すると、ボタンの下にエラーメッセージが表示されますが、一致するファイルが選択されてもそれは変わりません。それは動作しません。私は今働いて、それを持っているhttp://forum.primefaces.org/viewtopic.php?f=16&t=46724&p=145363&sid=54403839b9ad4535b70087b19048cf04#p145363

答えて

0

は、私はまた、総理コミュニティフォーラムでこの質問を投稿しました。 FileUploadは2つのpanelGridに埋め込まれていました。両方のpanelGridを削除すると、FileUploadが機能します。 PanelGridは、FileUploadがそれ自身のファイルリストテーブルを見つけられないように、HTML要素のツリー構造を壊すことがあるようです(これはJQueryを使用して見つけます)。

私は自分の仕事を続けることができます。 しかし、私はまだ正確に何が起こったのか分からず、私は知りたいです。

関連する問題