私はファイルアップロードコントロールを持っており、これを不可視にしました。asp.netでfileuploadコントロールを起動するボタンのイベントをクリックします。
Button
をクリックすると、そのファイルのアップロード制御にブラウズButton
を有効にしたいとします。
どうすればいいですか?
私はファイルアップロードコントロールを持っており、これを不可視にしました。asp.netでfileuploadコントロールを起動するボタンのイベントをクリックします。
Button
をクリックすると、そのファイルのアップロード制御にブラウズButton
を有効にしたいとします。
どうすればいいですか?
これはできないと思います。これは、スクリプトがユーザーインタラクションから目に見えない(または少なくともアップロードプロセスを起動する)可能性がある場合、セキュリティ上の問題となる可能性があります。
更新:
誰かが実際にdeveloped a solution to hide the upload controlようです。私が読んだところでは、JavaScriptを開発して使用するために多少の努力をしているようです。
個人的には、私はこれがすべてのプラットフォーム(BlackBerryまたはWindows Phoneを持っている人があなたのウェブサイトにアクセスしたと想像してください...)で動作することを保証することはできません。
最初に)あなたは2つのこと
1を行うために必要なファイルをアップロードするにはthis one
のようなファイルのアップローダーを作るファイルを選択します。 (参照ボタンをクリック)
2)サーバーに送信します。だから、最初のファイルが選択されているようthese.`
<script type="text/javascript" >
function uploadImage() {
$('#MainContent_UploadButton').click()
}
function selectFile() {
$('#MainContent_FileUploadControl').click();
}
</script>
今すぐファイルアップロードコントローラは、すぐに自分自身をアップロード作る行うためのJavaスクリプトを書くことができます
を(アップロードボタンをクリックしてください)
<asp:FileUpload id="MainContent_FileUploadControl" runat="server"
onChange="uploadImage()" class="hidden"/>
新しいボタンを作成し、クリックするとすぐにファイルを選択させます。
<asp:Button ID="MainContent_UploadButton" runat="server" Text="Upload File"
OnClientClick="selectFile(); return false;" />
最も重要な点は、onClientClickフィールドに "return false"を入れることです。ボタンのポストバックがブロックされ、ページを更新せずにファイルを選択できるようになります。
ここでcssを使用して不要なコンポーネントを非表示にすると、完了です。
<asp:FileUpload ID="FileUpload1" runat="server" style="display:none;"/>
<input id="btnFileUpload" type="button" value="Add" runat="server" />
btnFileUpload.Attributes.Add("onclick", "document.getElementById('" + FileUpload1.ClientID + "').click();");
ファイルアップロードコントロールが見えない場合は、アップロードするファイルをどのように選択するのですか? –
概要はこちらhttp://www.quirksmode.org/dom/inputfile.html –