2012-01-06 19 views
3

AJAXを使用して動的に読み込まれるダイアログボックスが表示され、そのボックスにValums qq.FileUploaderで置き換えられたファイル入力があります。私はコンテンツをロードした後、FileUploaderでinitを呼び出します。私の入力ボックスはFileUploaderによって正しく置き換えられます。qq.FileUploaderがAJAXポップアップに読み込まれたときに機能しない

下の図に示すように、入力はすべてで置き換えられ、新しい「隠された」入力がそこにあります。問題は私がそれをクリックすることができないということです。ただし、ファイルを正しくドラッグ&ドロップできます。したがって、アップロードは引き続き動作しますが、ドラッグアンドドロップのみで動作します。これは、WindowsとWindowsの両方でChromeとFirefoxでテストされています。

Image of dialog with input replaced

Valums qq.FileUploader doesn't work when it's initialized after loading button by ajax

EDITを参照してください:ダイアログのコードはjQueryのUIはありませんが、それは基本的に、私はダイアログを開いたとき、私はイベントをトリガし、私はこれにバインドさよ、カスタムコードですイベントでFileUploaderコードを実行します。

EDIT 2:私は、FileUploaderコードを実行するためにポップアップの後に1秒のタイムアウトを使用しようとしましたが、まだ行っていません。また、z-インデックスで遊んだり、動かなかったりしました。

EDIT 3:数週間後、まだ動作しません。私はこの問題の原因を見つけることができないようです。ここでは、「隠された」ファイルのアップロードがどこにあるかを示す2つのイメージがあります(赤色)。それは外部では動作しますが、ダイアログ内では動作しません。

これは外ダイアログで、それだけで正常に動作します:

This is outside a dialog, and works

これは、同じ正確な形式が、内部ダイアログですが、これは動作しません。

Same exact form, inside a dialog, doesn't work

EDIT 4:だけ設定私のコードでJSFiddle:http://jsfiddle.net/G5qP6/6/

しかし、あなたが見ることができますが、それは私の疑問を抱くJSFiddleでうまく動作します、なぜ私のアプリケーションでは動作しません。

+0

は ''

の内部にネストあなたのダイアログですが?私はgcの検査官の1つを見ない。 – danludwig

+0

はい、それは

の前です。また、同じフォームをダイアログの内側と外側で使用していますが、外側ではうまく動作します。 – jValdron

+0

私の前のコメントに追加するには、ダイアログボックスにアップロードフォームがあるときに外部にアップロードフォームがありません。 – jValdron

答えて

1

アップロードボタンをクリックすることはできませんが、ドラッグアンドドロップすることはできます。

この場合、これはCSSの問題と思われます。おそらく要素がアップロードボタンと重なっているため、実際に別の要素をクリックしています。境界線と背景色を設定してデバッグを試みます。アップロードボタンが重なっていると、重なっている要素が表示されます。

Upload.initializeUploads();と呼んでいるところで私の頭に浮かんでいるものが変わっています。
$('body').append(this.element);を実行した直後に私はDialog.init()に入れます。

あなたの例はFirefox 10、Chrome 16、IE 8、Opera 10(何か)でうまく動作します。 私の提案は、同じブラウザでも動作します。

あなたの元のコード:http://tmp.itnews-bg.com/jValdron/
私が変更されたもの:http://tmp.itnews-bg.com/jValdron/index-2.html

関連する問題