ホーム > カテゴリ > PHP・Laravel・CakePHP >

ブラウザでファイルをドラッグ&ドロップ

ブラウザに対して任意のファイルをドラッグ&ドロップしてファイル名を取得するサンプルです。この機能はHTML5の新機能となりますので旧ブラウザ(IE8未満は動作しません)。

HTML5の新機能 ドラッグ&ドロップ

ブラウザでのドラッグ&ドロップはHTML5の新機能です。サンプルを実行すると下記のようにドロップした複数のファイル名が表示されます。

※この記事はジャンルとしてはPHPとしています。HTML5が使用される機会はPHPが圧倒的だと思いますので :-)

[サンプル]

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript"> 
<!--
  function onDragOver(event){ 
      // イベントのキャンセル
      event.preventDefault(); 
  } 

  function onDrop(event){ 
      
      // ドロップされたファイルの取得
      var files = event.dataTransfer.files;
      
      // テキスト領域のIDを取得
      var filelist = document.getElementsByName("filelist").item(0); 

      for (var i=0; i< files.length; i++) {
        if (i==0)
          filelist.value = files[i].name;
        else
          filelist.value = filelist.value + "\r\n" +  files[i].name; 
      }
      
      // ブラウザがファイルを読み込むのをキャンセル 
      event.preventDefault(); 
  } 
  
// -->
</script>
</head>
<body>
  <textarea name="filelist" rows="3" cols="80" ondragover="onDragOver(event)"  ondrop="onDrop(event)"></textarea><br >
  ※画像ファイルをドロップして下さい。(複数可能)<br >
  <br>
  <br>
  <div id="msg"></div>
</body>
</html>

以上、ファイルのドラッグ&ドロップでした。





関連記事



公開日:2015年01月21日
記事NO:00142