Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.02.2016, 10:49
Аватар для AciDWarrioR
Кандидат Javascript-наук
Отправить личное сообщение для AciDWarrioR Посмотреть профиль Найти все сообщения от AciDWarrioR
 
Регистрация: 11.11.2015
Сообщений: 136

Нужно уладить недопонимание с <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>
Ответить с цитированием
  #2 (permalink)  
Старый 05.02.2016, 08:40
Аватар для AciDWarrioR
Кандидат Javascript-наук
Отправить личное сообщение для AciDWarrioR Посмотреть профиль Найти все сообщения от AciDWarrioR
 
Регистрация: 11.11.2015
Сообщений: 136

Никто не может помочь ?
Ответить с цитированием
  #3 (permalink)  
Старый 05.02.2016, 10:12
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

AciDWarrioR,
Сообщение от AciDWarrioR
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;
                }
            }
У вас в этой функции делается только проверка, что ничего не выбрано, делается сообщение и возврат.
Ну так добавьте ветку else, если есть выбранные файлы, и в ней доделайте все, что нужно для скачивания
Ответить с цитированием
  #4 (permalink)  
Старый 05.02.2016, 14:02
Аватар для AciDWarrioR
Кандидат Javascript-наук
Отправить личное сообщение для AciDWarrioR Посмотреть профиль Найти все сообщения от AciDWarrioR
 
Регистрация: 11.11.2015
Сообщений: 136

Dilettante_Pro,
Да этот вопрос был про между прочим, там итак понятно все через ajax.
А основную проблему сделал по другому. Когда человек вторично нажимает на иконку скачать срабатывает функция скачать файлы. В общем как то так.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужно написать фейк с элементами js в vk totcam Работа 3 27.10.2017 14:42
нужно написать скрипт редиректа ngprog Работа 1 20.01.2011 08:15
Нужно описать как работают два java script'a Smoke332 Общие вопросы Javascript 8 26.09.2010 16:13
Нужно обяснить мне на счет ІР RaS Оффтопик 9 05.07.2010 17:39
нужно создать много копий div ASM29A Элементы интерфейса 3 27.03.2010 20:22