人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

参照したファイルを他のinput type="file"へコピーする方法を教えてください。

<input type="file" name="docomo" size="60" class="form">
<input type="file" name="ezweb" size="60" class="form">
<input type="file" name="softbank" size="60" class="form">

画像をアップロードするphpがあり
一つの画面で3キャリアごとに別々のファイルをアップすることが可能なのですが
ほとんどの場合、全て同じ画像ファイルで大丈夫なので
name="docomo"で参照したファイルをname="ezweb"とname="softbank"に反映させたいのですが
コピーボタンを作るにはどうしたらよいでしょうか?

ご教授いただけると幸いです。

●質問者: xptree
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:DoCoMo EZweb name PHP SoftBank
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● koriki-kozou
●35ポイント

WEBサイトにアクセスするだけでファイルを抜き取られたら大問題

そのためアップロードするファイルの情報はjavascript等でコントロールできない仕組み


全部同じにする場合用の指定を出来るようにしておいてサーバ側でコピーするようにするしかない

input type="file" name="all" size="60" class="form"


サーバー側をどのような言語で作っているのかが判らないので今はここまで

◎質問者からの返答

回答ありがとう御座います。

参考にさせて頂きます。


2 ● ホーエンハイム
●35ポイント

フォームのfileタイプのvalue属性は参照しか許されていないため、ご質問の要件に合うスクリプトは作ることができません。

そこで代替案ですが、「コピー」ボタンが押下されたときにはezweb,softbankのダイアログは使えなくするというのはどうでしょうか。これなら余計なトラフィックが発生することもなく、サーバサイドでezweb,softbankの存在をチェックすることでコピーか否かの判断が付くと思います。


jQueryを使ったサンプル・スクリプトを以下に掲げます。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jQurtyの場所/jquery.js"></script>
<script type="text/javascript"><!--
function fcopy() {
$("#ezweb").css("backgroundColor", "grey");
$("#ezweb").attr("disabled", "disabled");
$("#softbank").css("backgroundColor", "grey");
$("#softbank").attr("disabled", "disabled");
}
function freset() {
$("#ezweb").css("backgroundColor", "white");
$("#ezweb").removeAttr("disabled");;
$("#softbank").css("backgroundColor", "white");
$("#softbank").removeAttr("disabled");;
}
// --></script>
</head>
<body>
<form name="myform" action="">
DoCoMo:<input type="file" id="docomo" name="docomo" size="60" class="form" /><br />
EZweb:<input type="file" id="ezweb" name="ezweb" size="60" class="form" /><br />
SoftBank:<input type="file" id="softbank" name="softbank" size="60" class="form" /><br />
<input type="button" value="コピー" onClick="fcopy();" />
 <input type="button" value="リセット" onClick="freset();" />
</form>
</body>
</html>
◎質問者からの返答

回答ありがとう御座います。

参考にさせて頂きます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ