1

ユーザーにファイルを選択させたい。パスの場所は、JavaScript 文字列に格納する必要があります。後で検証した後、サーバーに ajax 呼び出しを行い、PHP を使用してサーバーにファイルをアップロードします。

ページがリロードされ、多くのSQLクエリが実行され、サーバーに不要な負荷がかかるため、フォームを直接送信したくありません。

    <input type="file" id="files" name="files[]" multiple />
    <output id="list"></output>

    <script>
      function handleFileSelect(evt) {
        var files = evt.target.files; // FileList object

        // files is a FileList of File objects. List some properties.
        var output = [];
        for (var i = 0, f; f = files[i]; i++) {
          alert(JSON.stringify(f));
          output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
                      f.size, ' bytes, last modified: ',
                      f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a',
                      '</li>');
        }
        document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
      }

      document.getElementById('files').addEventListener('change', handleFileSelect, false);
    </script>

このアラートは詳細を提供しますが、必要なパスは提供しません。

jqueryを使用してajax経由で文字列を渡し、move_uploaded_fileを使用してphpでファイルをアップロードするだけで、パスを取得するのに役立ちます。

前もって感謝します。

4

1 に答える 1

0

ユーザーが選択を行うまでには、値が必要です。保管する場所を見つけて、必要な場所に引き戻します。値を取得するためだけにフォームを送信したくない場合は、実際のフォームに進む前に、値を取得する場所から選択/オプションのコンボを含めることができます。選択なし=フォームなし。選択 = フォームですが、まだ送信されていません。

于 2013-07-28T04:12:38.160 に答える