Зачем добавлять еще один в <ввод> элемент моей в <форма&ГТ; разбить мое onChange события?
У меня есть форма, которая использует onChange= "function(event)" для передачи списка папок mp3-файлов в функцию Javascript из webkitdirectory, например:
<form> <input type="file" value="Browser Folder" onChange="selectFolder(event)" webkitdirectory directory multiple> </form>
Моя функция Javascript:
function selectFolder(e) { var theFiles = e.target.files; var fileList = ""; for (var i=0, file; file=theFiles[i]; i++) { if ((file.name).substr((file.name).lastIndexOf('.')+ 1) === "mp3") { fileList = fileList+ String.fromCharCode(13)+(file.name).slice(0, -4); } } fileList = fileList.replace(/ - /g,";"); fileList = "sep=;" + fileList;
затем он превращает список имен файлов в одну строку с разделителями точек с запятой, а затем я использую Ajax для передачи его в PHP, где он сохраняется на сервере в виде csv-файла, совместимого с Excel, например:
echo ($_POST['name']); $file = 'files.csv'; file_put_contents($file,$_POST['name']);
Я хочу добавить поле ввода текста в свою форму, чтобы ввести уникальное имя для файла. csv, например:
<form> <input type="text" name="csvName"> <input type="file" value="Browser Folder" onChange="selectFolder(event)" webkitdirectory directory multiple> </form>
таким образом, я могу использовать его для именования файла .csv в PHP-коде, но всякий раз, когда я добавляю еще один элемент "input" в форму, он нарушает существующую функциональность кода, и csv-файл пуст, даже если я ничего больше не изменяю в коде.
Что я уже пробовал:
Замена onChange на onSubmit и добавление кнопки отправки (не идеально, но это было бы обходным решением, если бы оно сработало.)
Добавление дополнительной переменной в функцию и обработка csvName внутри функции.