Нужно уладить недопонимание с <form>
Всем привет!
Ситуация следующая: 1) Необходимо предоставить доступ для скачивания пользователю. Пользователю, после введенных им критериев поисков, выдается таблица со списком снимков. При нажатие иконки скачать ему раскрывается полный список файлов относящихся к этому снимку (здесь как и сам снимок, снимок с геопривязкой, метаданные и бла бла бла). Также во второй колонки для файлов появляются чекбоксы для выбора какие файлы нужны. Третья колонка для информации по файлам, которые весят сравнительно неплохо выдан размер и снизу этой колонки появляется кнопка скачать. Так вот, у меня получается, что form разделяется на два, на checkbox и submit. 2) Нужно все сделать ajax'ом, но также необходима проверка на выбор по крайней мере одного файла. Вот как сделать эту проверку без перезагрузки страницы? КодЪ: function showFIles(event){ tab = document.getElementsByTagName("tbody"); if($("tr").hasClass('substring')){ $(".substring").remove(); } var name = event.target.parentNode.parentNode.firstChild.innerHTML; var row = event.target.parentNode.parentNode.rowIndex+1; var index; for(i=0; i<arrayPHP.length; i++){ var indexN = arrayPHP[i].filename_raw.indexOf("."); var nameRaw = arrayPHP[i].filename_raw.substring(0,indexN); if(nameRaw == name){ index = i; break; } } var indexSR = arrayPHP[index].size_raw.indexOf("."); var sizeRaw = arrayPHP[index].size_raw.substring(0,indexSR+3); var indexSL = arrayPHP[index].size_l1b.indexOf("."); var sizeL = arrayPHP[index].size_l1b.substring(0,indexSL+3); var newCell1 = document.createElement("td"); var newCell2 = document.createElement("td"); var newCell3 = document.createElement("td"); newCell1.innerHTML = arrayPHP[index].filename_raw +"<p>" +arrayPHP[index].filename_l1b + "</p><p>" +arrayPHP[index].filename_parametr + "</p><p>" + arrayPHP[index].file_txt +"</p>"; newCell2.innerHTML = "<form method='POST' name='download'onsubmit='downloadFile()'><p style=margin:0px;><input type='checkbox' value='check' name='rawFile'></p><p style=margin:0px;><input type='checkbox' value='check' name='l1bFile'></p><p style=margin:0px;><input type='checkbox' value='check' name='paramFile'</p><p style=margin:0px;><input type='checkbox' value='check' name='txtFile'></p>"; newCell3.innerHTML = sizeRaw +" Mb" +"<p>" +sizeL + " Mb</p><p><input type='submit' value='Скачать' class='b1'></form></p>"; var newRow = tab[0].insertRow(row); newRow.classList.add("substring"); newRow.appendChild(newCell1); newRow.appendChild(newCell2); newRow.appendChild(newCell3); } function downloadFile(){ if(document.download.rawFile.checked==false && document.download.l1bFile.checked == false && document.download.paramFile.checked == false && document.download.txtFile.checked == false){ alert("Выберите файл для скачивания"); return false; } } </script> |
Никто не может помочь ?
|
AciDWarrioR,
Цитата:
Ну так добавьте ветку else, если есть выбранные файлы, и в ней доделайте все, что нужно для скачивания |
Dilettante_Pro,
Да этот вопрос был про между прочим, там итак понятно все через ajax. А основную проблему сделал по другому. Когда человек вторично нажимает на иконку скачать срабатывает функция скачать файлы. В общем как то так. |
Часовой пояс GMT +3, время: 04:27. |