• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:formの中で別のactionをもったsubmitボタンの設置。)

Formの中で別のactionをもったsubmitボタンの設置

このQ&Aのポイント
  • HTMLフォームには、別のactionを持つsubmitボタンを設置することができます。
  • しかし、フォーム内のsubmitボタンが持つactionが異なるため、フォームのデータを正しく送信することができません。
  • フォーム内でファイルを添付する場合は、JavaScriptを使用してファイルを別のアクションで送信する必要があります。

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

  • ベストアンサー
  • durarara
  • ベストアンサー率47% (21/44)
回答No.5

すみません、補足の訂正です。 No.3さんのはtype="file"ではなくtype="hidden"でしたね。 申し訳ありませんでした。 あと、最近のブラウザでは、ファイル名は送信するけれども、 パスは送信しないような傾向になってきています。 だからパスが送られてくる前提のプログラムも今後は避けたほうがいいでしょう。 これもセキュリティ上の問題です。

その他の回答 (4)

  • durarara
  • ベストアンサー率47% (21/44)
回答No.4

補足です。 type="file"のvalueに対して、サーバ側で値を設定することはできません。 JavaScriptでできないのと同じ理由だと思います。 質問のソースを見ると、アップロードの仕方を処理によって分けたいため フォームも分けているということですよね。 ファイル名やサムネイルを表示できるのはアップロード後のことなので この段階では無理でしょう。 もし処理をわけたいのでしたら、 ひとつのフォームで送信してサーバ側で振り分けるか、 フォームもサーバ側のプログラムも別にするしかないのではないでしょうか。 今はAjax全盛の時期なのでJavaScriptを避ける理由は特にないと思います。 もちろんサーバ側でやったほうがいい処理まで書く必要は無いと思いますが。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

<input type="hidden" name="text"> <input type="hidden" name="file"> ではなく、CGIにいったん渡して、 <input type="hidden" name="text" value="なんたらかんたら">なんたらかんたら <input type="hidden" name="file" value="file:///C:\temp\abc.jpg">abc.lpg とかにすべき、 画像はサーバーのimageMagickをつかってサムネイルを表示させるとか・・ javascriptは使うべきではない。色々な面で・・

hukazuo
質問者

お礼

ありがとうございました。 なかなか複雑なのですね。

  • durarara
  • ベストアンサー率47% (21/44)
回答No.2

No.1さんの言うとおりだと思いますので、 こうしたらいかがでしょう。 //*** 送信画面 function func1(form){ form.action="sousin.php" form.submit(); } //*** ユーザー追加画面 function func2(form){ form.action="text.php" form.submit(); }

hukazuo
質問者

お礼

POST先をかえるんですね。 ありがとうございます。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

javascriptでファイルの指定をしたいという要望でしょうか? セキュリティの問題で、まっとうなブラウザではできません。

hukazuo
質問者

お礼

ありがとうございます。 やはりできないのですね。。。。

関連するQ&A