No.1ベストアンサー
- 回答日時:
追加するより、隠しておいて見せるほうがなにかと楽ですね
<script>
function view(obj){
var f=obj.form;
for(var i=0;i<f.length;i++){
if(f[i]==obj){
for(var j=i+1;j<f.length;j++){
if(f[j].type=="file"){
f[j].style.display="";
break;
}
}
break;
}
}
}
</script>
<form>
<input type="file" onchange="view(this)">
<input type="file" onchange="view(this)" style="display:none">
<input type="file" onchange="view(this)" style="display:none">
<input type="file" onchange="view(this)" style="display:none">
</form>
ファイルを連続して選択するのは、セキュリティ的にムリだと思います
この回答への補足
onchange試してみます。
<input type="file"の数は限定できないと思います。
動的に追加することはできないでしょうか?
No.3
- 回答日時:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd"><html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<title></title>
<script type="text/javascript">
//@cc_on
var XXX = 'xxxFile';
function changeHandler( evt ) {
if( RegExp( XXX ).test( this.name ) ) {
increasedXXX( this );
}
}
function increasedXXX( e ) {
var c = e.cloneNode( false );
c.value = '';
e./*@if(1) setAttribute( 'onchange', '' ) @else@*/ removeAttribute( 'onchange' ) /*@end@*/;
e.parentNode.appendChild( document.createElement( 'BR' ) );
e.parentNode.appendChild( c );
}
</script>
</head>
<body>
<form action="receiver.php" enctype="multipart/form-data" method="post">
<p><input type="file" name="xxxFile[]" value="" onchange="changeHandler.call( this, event );"></p>
<p><input type="submit" value="送信"></p>
</from>
</body>
</html>
# 全角でインデントが入れてあるので、半角に変換してください。
# XXX は適当な文字に変換してください。
# 複数ファイルの受け取り方は以前示した参照先にあります。
No.2
- 回答日時:
>ファイルを連続して選択するのは、セキュリティ的にムリだと思います
そんな話は初耳ですが、参照元を教えていただけないでしょうか。
一応 PHPの話ですが、
cf. http://jp.php.net/manual/ja/feature-fileupload.m …
あらかじめ用意しておくと処理の上でも楽だし、スクリプト切っても複数選択できるので、良い案だとはおもいますが、display : none を指定してしまっているので、その利点が台無しになってしまっています。
いい加減、elements 使えよと、
<input type="text" name="length" onchange="alert( this.form['length'] );"> ?
<input type="text" name="action" onchange="alert( this.form['action'] );"> ?
それから、
ele.style.display="";
は、CSS で display : ; と値無しでと指定してるのと同じなので、構文的に間違っています。どうにもならないときは仕方ないですが、メジャーなブラウザ(IE以外)では、removeProperty があるので、プロパティを消したいときは普通はそれを使います。
name なしで、どうやって受け取るんだろ、とか、(これが厄介だったりする)なんで、for でまわしたがるんだろとか、
時間ができたらサンプル書くのでちょっと待ったってください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javascript IEで「識別子があり...
-
return trueとreturn falseの用...
-
一つのページで二つのFormを別...
-
select要素のvalueを配列で取得...
-
追加ボタンを押した際に ok ボ...
-
【javascript】 年齢計算
-
正規表現で複数マッチ条件で悩...
-
onchangeイベントを強制的に発...
-
出発駅A、到着駅Bを選択すると...
-
Excelで作ったhtmlファイルのサ...
-
ループで連続したフォームの値...
-
selectのnameが配列の場合
-
jQueryで設定したイベントハン...
-
Javascriptの書き方
-
リロードしないようにするには
-
Javascriptでのbuttonのname属...
-
【UWSC】HTML内のある部分を抽...
-
Selectボックスの一覧表示方法
-
VBAをJavaScriptに変換したいです
-
プルダウンで選択した項目にあ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
submitした値を返したい
-
複数のフォームを一括で自動送...
-
iframe内のformをサブミットす...
-
別ウィンドウへのsubmitの挙動...
-
1つのページにformを2つ設置。2...
-
フォームが空欄の時にフォーム...
-
javascriptでASPにデータを渡す
-
Cookieに保存されない
-
POST時に要素を削除してからPOST
-
focus()が上手くいかない
-
submitボタン押下後、disabled...
-
1つのform内に2つのsubmitボタ...
-
FormのonsubmitでJavaスクリプ...
-
テキストエリアに入力したURLに...
-
C# 配列などの受け渡し
-
タブキーでなくエンターキーで...
-
ENTERキーを無効にしたいのです...
-
formのsubmitイベントの発生に...
-
別窓ウィンドウから親ウィンド...
-
1つのformで複数のactionをボタ...
おすすめ情報