jQuery Dialog div を表示可能に設定した後、フォーム要素に追加するトリックに精通しています。私はこれを .NET で 100 回ほど実行しましたが、問題なく動作します。ただし、Coldfusion Web サイトでこれを実行しようとしていますが、これは私にとって初めてであり、正常に機能していません (つまり、フォーム要素に追加されていません)。これを Firebug で確認したので、jQuery ダイアログの div がフォーム要素の外側にあることがわかります。
ここに私のjQueryコードがあります:
if ($) {
$(document).on("click", '#btnUpload', function ($e) {
// Show the jquery dialog plugin
var dlg = $('#divUpload').dialog({ modal: true, title: 'Photo/Image Upload', draggable: true, width: 700 });
dlg.parent.appendTo($("form:first"));
$e.preventDefault();
});
}
ここに私の HTML/Coldfusion があります:
<form id="wtf" action="<cfoutput>#cgi.script_name#</cfoutput>" enctype="multipart/form-data" method="post">
<br />
<input type="button" id="btnUpload" name="btnUpload" value="Upload Image" />
<div id="divUpload" style="display: none;">
<br />
File to upload:
<br />
<input type="file" name="fileName" size="50" />
<br /><br />
<input type="submit" name="UploadFile" value="Upload" />
</div>
</form>
編集: 私も試しました
dlg.parent.appendTo($('#wtf'));
しかし、役に立たない。フォームには「wtf」の ID 属性があることに注意してください。そして、はい、「wtf」は現在、純粋にフラストレーションから抜け出しているのです!