[解決済み] ファイル選択ダイアログをjsで開くには?
2023-03-31 20:04:12
質問
$('#id').click();
Mac OS上のChrome 26では動作しません。
実はこの問題は、フォームに組み込むことができるアップロードウィジェットの作成にあります。 ウィジェットは 2 つの部分で構成されます。最初の部分は、開始ボタンとエラー/成功メッセージのあるdivです。 2番目の部分には、ファイルを入力する別のフォームを置き、iframeにファイルを送信する方法があると思います。送信後、メインフォームの最初の部分にある隠しフィールドに入力するか、同じようにエラーを表示します。
簡単な方法は、メインフォームにファイルフォームを追加することですが、それは禁止されています。
どのように解決するのですか?
jQueryを使用する
こんな感じで、ボタンと不可視の入力を作ります。
<button id="button">Open</button>
<input id="file-input" type="file" name="name" style="display: none;" />
で、それをトリガーとするjQueryを追加します。
$('#button').on('click', function() {
$('#file-input').trigger('click');
});
バニラJSの使用
同じアイデアを、jQueryを使わずに(credits to Pascale ):
<button onclick="document.getElementById('file-input').click();">Open</button>
<input id="file-input" type="file" name="name" style="display: none;" />
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] jQueryで入力ファイルが空かどうかをチェックする方法
-
[解決済み] <ng-content>が空かどうかを確認する方法は?(これまでのAngular 2+で)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] <Enter>でjQuery UIダイアログを送信する
-
[解決済み] URL/アドレスバーからJavascriptの関数を呼び出す
-
[解決済み] 兄弟ノードを選択する方法はありますか?
-
[解決済み] JavaScriptで文字列を数値に変換する最速の方法は何ですか?
-
[解決済み] AJAX Mailchimp サインアップフォームの統合
-
[解決済み] JavaScriptでjson-objectのキーを取得する [重複].
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。
-
[解決済み] <ng-content>が空かどうかを確認する方法は?(これまでのAngular 2+で)
-
[解決済み] リダイレクトされずにHTMLフォームを送信する方法