• ベストアンサー

[html]<input type="file">タグの参照ボタンを画像ボタンにした時のsubmitの方法

なにから書けばいいのか難しいのですが… とりあえず、先日次のような質問をしました。 【[html] <input type="file">タグの参照ボタンを画像ボタンにしたい。】 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1244273 その中のやり取りにあるように、参照ボタンを画像にすることはできたのですが、実際に参照ボタンを画像にしてからsubmitすることができなくなってしまいました… いろいろ調べてみましたら、どうやら<input type="file">をjavascript等でclickして値を入れると、セキュリティ上submitできないみたいなのです。実際そのフォームがsubmitに対して無反応になります。javascriptで強引にsubmitしようとすると"アクセスが拒否されました"のエラーがでます。 なんかごちゃごちゃになってきた… 今自分が実現したいのは、以下の2つです。 1.<input type="file">の参照ボタンを画像にしたい。 2.1を実現後そのformをsubmitしたい。 どなたか実現している方がいましたら、ご教授ください。 IE6で動けば問題ないです。 すみませんコードは文字制限に引っかかって載せれなかったです…

  • aw11
  • お礼率68% (30/44)
  • HTML
  • 回答数2
  • ありがとう数9

質問者が選んだベストアンサー

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

試してみたところ、submitはキャンセルされてtype="file"の入力内容がクリアされますね。 (クリアされた状態でもう一度submitボタンをクリックすると送信できる。) 私的にはセキュリティ強化としても厳し過ぎる気もしますが・・・今の時点で何か方法が見つかっても今後セキュリティホールとして塞がれてしまう可能性もあるので、諦めたほうがいいのかもしれません。

aw11
質問者

お礼

>steel_grayさん 前回の質問に引き続き回答ありがとうございます。 なんとか抜け道を探そうとしていたのですが、 今後も考えると参照ボタンでやるのがベターですね。 問題は客がそれで納得するかだよなぁ… まぁ、「これができたらハッキングなんて簡単っすよ」とかいってみますw

その他の回答 (1)

回答No.2

Wizard_Zeroと申します。 いろいろと試してみましたが、だめですねぇ…。 ○ 参照ボタンで選択 × スクリプトで選択 × 参照ボタンで選択 → スクリプトで選択 × スクリプトで選択 → 参照ボタンで選択 私の感想としては、FILEタイプを持つINPUTのVALUE関連項目に対して少しでもスクリプトが関与するとダメっぽいです。 単にClickメソッドを呼び出しても、「ボタンを押した」という完全なシミュレートにはなっていないようですね。 しかも、Submitでクリアされる時、Changeイベントさえ発生しない。 まぁ、#1さんのおっしゃるとおり、出来たとしてもいずれできなくなる可能性もありますし、ここは涙を呑んでデフォルトのまま使うしかないのではないでしょうか。

aw11
質問者

お礼

>Wizard_Zeroさん 回答ありがとうございます。 >単にClickメソッドを呼び出しても、「ボタンを押した」という完全なシミュレートにはなっていないようですね。 みたいですね。確かにfileタイプの目的としてファイルをアップロードすることが1つあると思うので、「ユーザーの意思によって送信された」状態でなければ危険ですから、納得と言えば納得です。 デフォルトの方向で行こうと思います。

関連するQ&A

  • [html] <input type="file">タグの参照ボタンを画像ボタンにしたい。

    タイトルのとおりなんですが、<input type="file">をhtmlで記述するとテキストボックスと共に参照ボタンが表示されますよね? あの参照ボタンを画像ボタンにしたいのですが、どうしたらできるのでしょうか?それともそもそも出来ないのでしょうか? 教えてください。お願いします。

    • ベストアンサー
    • HTML
  • input type="image"の時、enterでsubmitされない方法

    http://oshiete1.goo.ne.jp/kotaeru.php3?q=115527 で、「enterでsubmitされない方法」が記載されているのですが、 input type="image"の時、うまく反映されません。 formタグには以下のように、 <form name="form1" method="post" action="" onSubmit="return false"> 送信ボタンは以下のように設定しています。 <input type="image" src="***.gif" onClick="submit();"> ちなみにinput typeを"button""submit"にすると反映してくれますが "image"ではうまくいきません。 ご回答よろしくお願いします。

  • <INPUT TYPE="file">の参照ボタンをJavascriptで操作するとエラーが・・・

    aspとBaspを使用してファイルアップロードを行う処理を作っています。 その中で、<INPUT TYPE="file">の参照ボタンをJavascriptで押下するような動きを作成したのですが、Submitを行うと「アクセス権がありません」というJavascriptのエラーが発生してしまいます。 通常の参照ボタンを利用する分には問題なくファイルをアップロードできています。 どなたか詳しい方、どう処理すればいいのか教えてください。

  • INPUT上でリターンを押してもsubmitされない方法

    フォームにてキーワードを入力し、検索ボタン押したときに javascriptにて以下の動作をさせたいと思っています。  ・hidden項目に特定値をセットしてsubmitをかける 以下のコードを書いたのですが、INPUT上でリターンを押すと submitされてしまいます。 ボタン以外でリターンを押した場合に何も動作させないようにするにはどのようにすればよいのでしょうか? -------------------------------------------------------------- <SCRIPT language="JavaScript"> <!-- function javasc_name(param){ document.form.PARAM.value = param document.form.submit() } //--> </SCRIPT> <form method="POST" action="cgi-bin/xxx.exe"> <input type="text" name="KEYWORD"> <input type="hidden" name="PARAM"> <input type="button" value="検索" OnClick="javasc_name(10)"> </form> --------------------------------------------------------------

    • ベストアンサー
    • HTML
  • FORMタグ内に複数submitボタンがある場合の問題

    お世話になります。 質問タイトルがあまり適切でなくすみません。HTMLに関する質問です。 FORMタグ内に複数のsubmitボタンを配置し、FORM内のテキストボックスへフォーカスを充てた場合、Enterキーを押下すると上にあるボタンが反応してしまいます。 下のボタンを反応させたいのですが、JavaScriptを使わず下のボタンを指定する方法はあるのでしょうか。 ご存知の方いらっしゃいましたら、よろしくお願いします。 ■参考ソース <FORM id="form" action="ジャンプ先URL" > <INPUT type="text" /> <br /> <INPUT type="submit" value="ボタン1" /> <br /> <INPUT type="submit" value="ボタン2" /> </FORM>

    • ベストアンサー
    • HTML
  • inputタグのfileで参照ボタンのみ可にする方法

    HTML作っていて、下の問題で行き詰まってしまいました。 <input type="file">のタグで、 ファイル名入力不可にして、参照ボタンだけ押下可に したいと思っています。 タグにreadonlyを加えると、Windows2000のIEでは うまくいくのですが、WindowsXPのIEでは ファイル名だけでなく、参照ボタンまで入力不可になってしまいます。 良い方法ありましたら教えてください。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • input type="submit"が押せない

    インプットタグで作ったボタンが押せなくなる原因を知りたいです。 今回の状況はwordpressの管理画面のボタンなんですが、 バージョンアップをしたらsubmitボタンが無効になる現象がおきました。 おそらくhtmlかcss、javascriptが関係していると思うのですが ファイルが膨大なのでそもそもの原因を知りたく投稿させていただきました。 html,css,javascript関連でinput type="submit"が押せなくなって 解決方法をご存知の方いらっしゃいましたらご教授願います。

  • submitボタンを表示することなく、アンカータグでpost伝送する方法

    javascriptとphpとの双方または何れか一方を用いることにより、 以下のことを実現する方法を教えて下さい。 〔記〕 「<form>タグを用いてPOST伝送する際に、submitボタンに代えて アンカータグを用いる方法」 なお、submitボタンに相当する<input>タグはhtmlソースに含まれてもよいですが、ブラウザ画面上には表示したくありません。 以上、どうかよろしくお願い致します。

  • 複数のsubmitボタンで押されたボタンを取得する方法

    form内の、submitボタンの値が拾えません。 1つだけsubmitボタンを設置すると値が拾えますが、 2つ以上submitボタンを設置すると拾えません。 仕様上、無理なのでしょうか? <SCRIPT language="JavaScript"> function move_post(){ alert(document.frmMvPost.btn.value); } </SCRIPT> <FORM name="frmMvPost" action="" method="post" onsubmit="return move_post()"> <INPUT type="submit" name="btn" value="テスト1"> <INPUT type="submit" name="btn" value="テスト2"> <INPUT type="submit" name="btn" value="テスト3"> </form>

  • type="file"の<INPUT>タグに任意のファイルを指定したい

    HTMLの <INPUT>タグの "type"プロパティを、"file"とし、 この項目のデフォルトの値、もしくは JavaScriptからファイルを直接指定するということは 可能でしょうか。 ご回答をよろしくお願いいたします。

    • ベストアンサー
    • HTML

専門家に質問してみよう