Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.11.2016, 11:51
Интересующийся
Отправить личное сообщение для kaspers Посмотреть профиль Найти все сообщения от kaspers
 
Регистрация: 22.11.2015
Сообщений: 14

Передача данных с двух форм в php файл
Добрый день. На сайте есть две формы - в одной пользователь выбирает услуги и их количество, а в другой водит свои данные. Необходимо передать всю эту информацию в php файл для дальнейшей отправки на почту администратора сайта. Использовать .serialize() у меня не получилось так как берутся данные только от одной формы. Было решено получить данные в массиве и с помощью .push добавить информацию в один общий массив.. С этим проблем не возникло, но вот почему-то сообщения на почту приходят с пустыми полями
$(".form").submit(function(event){
		var data = [];//общий массив
			$("#dopusugi").find("input[type=\"checkbox\"]:checked").each(function(){
				var element = [];//массив с услугами
				element['name'] = $(this).parents("tr").children("td.nazvanie").text();
				element['price'] = $(this).parents("tr").children("td:eq(3)").text();
				element['kol'] = $(this).parents("tr").children("td").children("input[type=\"text\"]").val();
				data.push(element);//добавление элемента в общий массив
			})
			var zakazchik = [];//массив с данными от заказчика
			zakazchik['name2'] = $("#modal_zakaz").find(".body_modal").find("input[name=\"name\"]").val();
			zakazchik['phone2'] = $("#modal_zakaz").find("input[name=\"phone\"]").val();
			zakazchik['mail2'] = $("#modal_zakaz").find("input[name=\"mail\"]").val();
			zakazchik['comment2'] = $("#modal_zakaz").find("textarea[name=\"comment\"]").val();
			data.push(zakazchik);  // добавление информации от заказчика в общий массив
  
			 
		$.ajax({
			url: '/feed.php',
			type:'post',  
			data:tdata,
			dataType:'json',
			beforeSend: function(){
            
			
			},
			success: function(json){
				if(json.result){
					console.log(data);
					}
				else{
					alert(json.text);
				}
			},
			complete: function(){
            	        //  alert("Завершаем");  
        	        }
		});
		
		event.preventDefault();
	});


В консоль выводится массив со всеми нужными данными..

а в php файле я прописал вот это

if(isset($_POST['name2']) && $_POST['name2']!=''){
			$name = trim(strip_tags($_POST['name2']));
		}else{
			$name = false;
		}


Но тут результат всегда false

Как передать данные на почту?
Ответить с цитированием
  #2 (permalink)  
Старый 07.11.2016, 13:22
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от kaspers
Использовать .serialize() у меня не получилось так как берутся данные только от одной формы.

$(селектор_формы_1).serialize()+'&'+$(селектор_формы_2).serialize()


И что одной формой нельзя было обойтись?
Ответить с цитированием
  #3 (permalink)  
Старый 07.11.2016, 13:22
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,205

kaspers, почему tdata в твоем "скрипте" встречается только один раз?
Сообщение от kaspers
data:tdata
Ответить с цитированием
  #4 (permalink)  
Старый 08.11.2016, 17:48
Интересующийся
Отправить личное сообщение для kaspers Посмотреть профиль Найти все сообщения от kaspers
 
Регистрация: 22.11.2015
Сообщений: 14

Сообщение от ksa Посмотреть сообщение
kaspers, почему tdata в твоем "скрипте" встречается только один раз?
переменную tdata я использовал при serialize, а data при использовании массива.. когда заполнял вопрос на форуме, я поудалял лишний код и закомментированые строки.. и видимо не заметил, что передаю tdata.. Так что там просто опечатка, и там должно было быть data:data;
Ответить с цитированием
  #5 (permalink)  
Старый 08.11.2016, 17:54
Интересующийся
Отправить личное сообщение для kaspers Посмотреть профиль Найти все сообщения от kaspers
 
Регистрация: 22.11.2015
Сообщений: 14

Сообщение от laimas Посмотреть сообщение
$(селектор_формы_1).serialize()+'&'+$(селектор_формы_2).serialize()


И что одной формой нельзя было обойтись?
Большое спасибо) ваше ответ помог, остались небольшие вопросы, но думаю что с ними уже сам разберусь)
Я пытался использовать serialize() для двух форм, но видимо ошибался в синктаксисе

А про использовании двух форм.. На главной странице есть форма с чекбоксами и названиями услуг, когда пользователь выбирает какой-либо чекбокс, то всплывает, так скажем, корзина, в которой есть кнопка Оформить заказ. При клике на нее, всплывает окно с формой для заполнения данных заказчика. Можно ли было реализовать это все на одной форме?
Ответить с цитированием
  #6 (permalink)  
Старый 09.11.2016, 04:02
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от kaspers
Можно ли было реализовать это все на одной форме?
То есть без JS ваши заказчики как без рук будут. ) А если JS то конечно можно.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача данных из php Aligatro Общие вопросы Javascript 1 27.12.2013 17:44
передача данных из форм своего сайта в формы стороннего сайта najrobi Общие вопросы Javascript 19 15.07.2012 22:18
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Сохранение данных в файл Autosof Общие вопросы Javascript 1 28.08.2008 09:23
передача данных между формами Yurii Общие вопросы Javascript 2 30.04.2008 20:52