質問編集履歴

3 ソース修正

cofee

cofee score 38

2018/05/10 09:54  投稿

複数の<input type="file>が全て選択されていなかったらアラートを出したいのですが、、
お世話になっております。
Laravelを使用しており、Controllerで取得したデータをviewのtable内に表示しています。
各行にファイルを選択していくのですが、登録ボタン押下時に各行の<input type="file>にファイルが選択されていなかったら
アラートでメッセージを出したいです。
jsで処理すると思うのですが調べて出てくるものは、
1つのフォームに複数のファイルを選択するやり方でフォームを複数用意することは書かれていませんでした。
質問箇所のソースは以下のようになっております。
よろしくお願いいたします。
```html
<table id="user" class="table table-bordered table-striped" style="clear: both">
       <tr>
           <th>番号</th>
           <th>サンプルA</th>
           <th>サンプルB</th>
           <th>サンプルC</th>
           <th>画像</th>
       </tr>
       <tbody>
           <?php $i=1; ?>
           @foreach($result as $r)
           <tr>
               <td>{{$i}}</td>
               <td>{{$r->sampleA}}</td>
               <td>{{$r->sampleB}}</td>
               <td>{{$r->sampleC}}</td>
               <td><input type="file" id="inputfile" name="file[]" accept="image/*"></td>
               <td><input type="file" class="inputfile" name="file[]" accept="image/*"></td>
           </tr>
           <?php $i++ ?>           
           @endforeach
       </tbody>
</table>
<button type="submit" class="buttonLg-primary" name="result" id="result">登録</button>
```
```javascript
$(function(){
$("#result").on('click', function(){
   if(window.confirm("登録しますか?")) {
       location.href = $(this).attr('href');
   } else {
       return false;
   }
});
});
```
  • PHP

    28648 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    25801 questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • HTML

    15256 questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • jQuery

    10057 questions

    jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

  • Laravel

    1981 questions

    LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

2 ソース修正

cofee

cofee score 38

2018/05/10 09:53  投稿

複数の<input type="file>が全て選択されていなかったらアラートを出したいのですが、、
お世話になっております。
Laravelを使用しており、Controllerで取得したデータをviewのtable内に表示しています。
各行にファイルを選択していくのですが、submit時に各行の<input type="file>にファイルが選択されていなかったら
各行にファイルを選択していくのですが、登録ボタン押下時に各行の<input type="file>にファイルが選択されていなかったら
アラートでメッセージを出したいです。
jsで処理すると思うのですが調べて出てくるものは、
1つのフォームに複数のファイルを選択するやり方でフォームを複数用意することは書かれていませんでした。
質問箇所のソースは以下のようになっております。  
よろしくお願いいたします。
```html
<table id="user" class="table table-bordered table-striped" style="clear: both">
       <tr>
           <th>番号</th>
           <th>サンプルA</th>
           <th>サンプルB</th>
           <th>サンプルC</th>
           <th>画像</th>
       </tr>
       <tbody>
           <?php $i=1; ?>
           @foreach($result as $r)
           <tr>
               <td>{{$i}}</td>
               <td>{{$r->sampleA}}</td>
               <td>{{$r->sampleB}}</td>
               <td>{{$r->sampleC}}</td>
               <td><input type="file" id="inputfile" name="file[]" accept="image/*"></td>
           </tr>
           <?php $i++ ?>           
           @endforeach
       </tbody>
</table>
<button type="submit" class="buttonLg-primary" name="result" id="result">登録</button>  
```  
```javascript  
$(function(){  
$("#result").on('click', function(){  
   if(window.confirm("登録しますか?")) {  
       location.href = $(this).attr('href');  
   } else {  
       return false;  
   }  
});  
});  
```
  • PHP

    28648 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    25801 questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • HTML

    15256 questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • jQuery

    10057 questions

    jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

  • Laravel

    1981 questions

    LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

1 質問修正

cofee

cofee score 38

2018/05/10 09:37  投稿

複数の<input type="file>が全て選択されていなかったらアラートを出したいのですが、、
お世話になっております。
Laravelを使用しており、Controllerで取得したデータをviewのtable内に表示しています。
各行にファイルを選択していくのですが、submit時にファイルが全て選択されていなかったらアラートでメッセージを出したいです。
jsで処理すると思うのですが調べてもいまいち理解することができませんでした。
各行にファイルを選択していくのですが、submit時に各行の<input type="file>にファイルが選択されていなかったら
アラートでメッセージを出したいです。
jsで処理すると思うのですが調べて出てくるものは、
1つのフォームに複数のファイルを選択するやり方でフォームを複数用意することは書かれていませんでした。
よろしくお願いいたします。
```html
<table id="user" class="table table-bordered table-striped" style="clear: both">
       <tr>
           <th>番号</th>
           <th>サンプルA</th>
           <th>サンプルB</th>
           <th>サンプルC</th>
           <th>画像</th>
       </tr>
       <tbody>
           <?php $i=1; ?>
           @foreach($result as $r)
           <tr>
               <td>{{$i}}</td>
               <td>{{$r->sampleA}}</td>
               <td>{{$r->sampleB}}</td>
               <td>{{$r->sampleC}}</td>
               <td><input type="file" id="inputfile" name="file[]" accept="image/*"></td>
           </tr>
           <?php $i++ ?>           
           @endforeach
       </tbody>
</table>
```
  • PHP

    28648 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    25801 questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • HTML

    15256 questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • jQuery

    10057 questions

    jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

  • Laravel

    1981 questions

    LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る