
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
絶対パスと相対パスについて。
-
HTML&CSS 学習本の相談
-
HTML&CSS 学習方法のお勧め
-
テーブルの行を折りたたみたい...
-
htmlの<input type=”file”>でア...
-
webディベロッパーについて詳し...
-
このサイトのカテゴリのチェッ...
-
ホームページを作っていたらhtm...
-
ホームページのサイトでhtm...
-
HTMLで画像をポップアップで表...
-
HTMLでstyleを指定するフォーム...
-
css初心者 フレックスボックス...
-
iPhoneで HTMLファイルを閲覧
-
HTML/CSSを使って写真のような...
-
HTMLでクロス抽出したい
-
レスポンシブで困っています・・
-
ホームページの制作について教...
-
GoogleSearchControlにホームペ...
-
Dreamweverは今も主流なんです...
-
動画と画像&タイトル2列を横並...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
submitをボタン以外にするには
-
submitの処理の後別の画面を表...
-
1アクションでPOST・GET、両方...
-
リンクをクリックした時にform...
-
ラジオボタンで選択した項目に...
-
同じnameのhiddenで別々の内容...
-
mailtoでバイナリーファイルを添付
-
URL パラメータを使ってフォー...
-
長文のmailtoの使い方
-
フォーム要素以外にもname属性...
-
HTMLとPerl間のページ遷移につ...
-
ブラウザを使った入力フォーム
-
送信ボタン押下時に値が未入力...
-
ページがEnterで再起動されるの...
-
メールフォームの送信ボタンが...
-
HTML Formの属性actionは2つの...
-
<a href=**?***=***>をGET方式で
-
formタグのactionパラメータで...
-
checkboxを「変更不可」にでき...
-
ブラウザのテキストボックスに...
おすすめ情報