
javascriptで<INPUT type=file name=faile1>を
file1.click();でクリックしてファイル選択ダイアログを表示させようとしても表示しません。
formから
<INPUT type=file id=file1 name=image style="DISPLAY: none">
<INPUT type="image" src="./img/up02.jpg" id=button1 value=Button name=button1
を出すとファイル選択ダイアログが表示されます。
独自のボタンイメージでファイル選択ダイアログを表示したいために
<INPUT type="image"をクリックされたときにjavascriptで
<INPUT type=file をクリックさせています。
したいことは、独自のボタンで、ファイル選択ダイアログを表示して、
phpに選択されたファイルパスを送信したいです。
下記コードをご参考にしてください。
<html>
<head>
<title>upload test</title>
</head>
<body>
何かの編集ページとか
<iframe name="uploader" src="" style="width:0px;height:0px;border:0px;"></iframe>
<form name=form1 target="uploader" method="POST" action="http://*.**.**.*/test.php" enctype="multipart/form-data">
<INPUT type=file id=file1 name=image style="DISPLAY: none">
<INPUT type="image" src="./img/up02.jpg" id=button1 value=Button name=button1 LANGUAGE=javascript onclick="return button1_onclick()"/>
</form>
<script type="text/javascript">
<!--
function button1_onclick() {
window.alert("クリックされた");
file1.click();
document.form1.submit();
}
//-->
</script>
</body>
</html>
No.1ベストアンサー
- 回答日時:
直接の原因は
>file1.click();
で要素が取得できていないからではないでしょうか?
引数で this.form を渡してあげるか、あるいは直接に
document.forms["form1"].elements["file1"].click();
みたいに指定してあげればよろしいかと。
ただし、IE以外はテキストボックスをクリックできないみたいなので、DOM Event で発火してあげたほうがよさそう。
http://d.hatena.ne.jp/language_and_engineering/2 …
ついでに・・・
ダイアログをキャンセルした場合はどうするのだろうか?
コメント入れたはずなのに??再度入力してます
ありがとうございます
おっしゃる通りです。気づけなかったorz
javascriptのみで今回の機能の実装はできないと判断したので
違ったアプローチで行きたいと思います。
出来るだけ、javascriptとhtmlで実装したかったのですが
そうも言ってられないので、ajaxなどでアプローチしたいとも思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
hiddenを動的に作成したい
-
出発駅A、到着駅Bを選択すると...
-
Formの「action」属性を取得し...
-
次の要素が「input type」だっ...
-
フレームからニコニコ動画にロ...
-
二つの入力欄に、同時に同じ文...
-
複数のテキストフィールドを同...
-
data.resultからデータを取り出...
-
カーソルが自動的に移動する方法
-
フォーム内で記入したクエリ送...
-
return trueとreturn falseの用...
-
プルダウン 項目が多いので先頭...
-
未入力のテキストエリア
-
value.replaceがうまく動作しま...
-
onchangeイベントを強制的に発...
-
tableの任意行にfocusをあてる
-
value内に変数を入れたい
-
onMOUTHOVERで画像に説明文(5...
-
javascriptのちょっとした動作...
-
スマホのフォームでのselect複...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【jQuery】input nameの文字列...
-
新しくフォルダを作成したい
-
二つの入力欄に、同時に同じ文...
-
ラジオボタンでクリックした値...
-
テキストボックスの値同士を比...
-
jquery.validate.jsについて
-
動的にTabindexの値を変えたい!
-
Javascriptでのbuttonのname属...
-
複数のテキストフィールドを同...
-
ファイル選択ダイアログが表示...
-
JavaScriptにて動的に配列を作...
-
name属性のないformタグの、中...
-
ボタンを押すとテキストボック...
-
jqueryでtextareaのcols、rows...
-
テキストエリアをenterキーでフ...
-
ASP.NETでNAME属性を固定にしたい
-
時間の比較は可能でしょうか?
-
出発駅A、到着駅Bを選択すると...
-
submitボタン押下時にPOSTされ...
-
別のページのグローバル変数を...
おすすめ情報