formの中で別のactionをもったsubmitボタンの設置。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<title>sample</title>
<script language="JavaScript" type="text/javascript">
<!--
//<クリックした時に実行される関数>
//*** 送信画面
function func1(form){
document.form1.text.value =form.text.value;
document.form1.file.value =form.file.value;
document.form1.dummy.value =form.dummy.value;
document.form1.submit();
}
//*** ユーザー追加画面
function func2(form){
document.form2.text.value =form.text.value;
document.form2.file.value =form.file.value;
document.form2.dummy.value =form.dummy.value;
document.form2.submit();
}
//-->
</script>
</head>
<body class="index">
<form enctype="multipart/form-data">
<table id="table" width="100%">
<tr><th width="10%">テキスト</th><td><input type="text" name="text">
<br />
<div style="text-align:left;">
<input type="button" onClick="func2(this.form)" value="テキスト確認">
</div>
</td></tr>
<tr><th width="10%">添付</th><td><input type="file" name="file"></td></tr>
</table>
<div style="text-align:left;">
<input type="button" onClick="func1(this.form)" value="確認">
</div>
</form>
<!-- sousin.php画面へ -->
<form method="post" name="form1" action="sousin.php" enctype="multipart/form-data">
<input type="hidden" name="text">
<input type="hidden" name="file">
<input type="hidden" name="dummy">
</form>
<!--- text.php画面へ --->
<form method="post" name="form2" action="text.php" enctype="multipart/form-data">
<input type="hidden" name="text">
<input type="hidden" name="file">
<input type="hidden" name="dummy">
</form>
</body>
</html>
上記のように記述し、フォームの中に別のactionをもったsubmitボタンを設置しました。
textの内容は渡せるのですが、添付したいファイルを渡すことができません。
添付ファイルも渡せるようにするにはどうすればよいのでしょうか
No.5ベストアンサー
- 回答日時:
すみません、補足の訂正です。
No.3さんのはtype="file"ではなくtype="hidden"でしたね。
申し訳ありませんでした。
あと、最近のブラウザでは、ファイル名は送信するけれども、
パスは送信しないような傾向になってきています。
だからパスが送られてくる前提のプログラムも今後は避けたほうがいいでしょう。
これもセキュリティ上の問題です。
No.4
- 回答日時:
補足です。
type="file"のvalueに対して、サーバ側で値を設定することはできません。
JavaScriptでできないのと同じ理由だと思います。
質問のソースを見ると、アップロードの仕方を処理によって分けたいため
フォームも分けているということですよね。
ファイル名やサムネイルを表示できるのはアップロード後のことなので
この段階では無理でしょう。
もし処理をわけたいのでしたら、
ひとつのフォームで送信してサーバ側で振り分けるか、
フォームもサーバ側のプログラムも別にするしかないのではないでしょうか。
今はAjax全盛の時期なのでJavaScriptを避ける理由は特にないと思います。
もちろんサーバ側でやったほうがいい処理まで書く必要は無いと思いますが。
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は使うべきではない。色々な面で・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GETをPOSTに変更したところ 送...
-
submitをボタン以外にするには
-
1アクションでPOST・GET、両方...
-
HTMLのフォームタグの送信順に...
-
複数のフォームを一括で送信す...
-
リンクをクリックした時にform...
-
CGI動作後に元のページに戻る方法
-
JavaScriptでフォームへのフォ...
-
送信フォームを2つ用意する方法
-
type="hidden"を使って時刻を送信
-
送信ボタン押下時に値が未入力...
-
・フォームの送信先(action)...
-
アンケート項目を複数のページ...
-
HTMLとCSS
-
【html】)パスワード認証フォー...
-
送信ボタンで飛ばす方法
-
動的にnema属性が変化する場合...
-
セレクトボックスの幅をプルダ...
-
inputタグのclass名にコロン「:...
-
プルダウンメニューアイテムの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
submitをボタン以外にするには
-
1アクションでPOST・GET、両方...
-
送信ボタン押下時に値が未入力...
-
複数のフォームを一括で送信す...
-
URL パラメータを使ってフォー...
-
【html】)パスワード認証フォー...
-
フォーム要素以外にもname属性...
-
リンクをクリックした時にform...
-
GETをPOSTに変更したところ 送...
-
checkboxを「変更不可」にでき...
-
長文のmailtoの使い方
-
type="hidden"を使って時刻を送信
-
フォームに入力した値をURLに付...
-
<a href=**?***=***>をGET方式で
-
submitの処理の後別の画面を表...
-
</form>タグを使用すると強制的...
-
お問い合わせフォームの送信後...
-
mailtoについて
-
ラジオボタンで選択した項目に...
-
form actionでmailtoを指定する...
おすすめ情報