フォームのファイル入力を div に置き換える jquery プラグインを使用しているため、div をクリックするとファイル ブラウザがポップアップします。ファイルを選択すると、フォームが自動的に送信され、結果が非表示の iframe に表示されます。このすべての背後にあるアイデアは、「クリックしてアップロード」という画像を表示するだけで、ワンクリックでファイル ブラウザが表示され、ファイルを選択すると舞台裏でアップロードされるということです。
とにかく、ファイルの送信時に php で問題が発生していることはわかっていますが、結果が非表示の iframe に読み込まれるため、エラーの内容を確認できません!
したがって、明らかに iframe から隠しスタイルを削除しますが、問題は、プラグインがプラグインの JavaScript に display:hidden を追加することです。します:
var iframe = $(
'<iframe '+
'id="iframe'+id+'" '+
'name="iframe'+id+'"'+
'></iframe>'
).css({
display: 'none'
});
ただし、次を削除すると:
.css({
display: 'none'
});
少し、「クリックしてアップロード」で画像をクリックしても、ファイルブラウザが表示されなくなり、全体が壊れているようです。
プラグインの JavaScript は長くはありませんが、ここに投稿するには長すぎるかもしれませんが、ここで見ることができます: http://liquidlizard.net/jquery.ocupload.js
その css() 関数だけを削除すると、全体が機能しなくなるのはなぜですか? 非表示の iframe の内容を表示する別の方法はありますか?
編集 コメントで提案されているjsfiddleは次のとおりです。http://jsfiddle.net/VF6Qb/ .css({display:'none'}); を削除すると、35 行目から始まる JavaScript で div をクリックしても、ファイル ブラウザ ダイアログ ボックスが開かなくなります。