Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.10.2017, 06:19
Профессор
Отправить личное сообщение для the_little Посмотреть профиль Найти все сообщения от the_little
 
Регистрация: 25.09.2017
Сообщений: 186

Заменить значения value в форме при отправке на email
Всем привет.
Столкнулся с одной проблемой.
Есть калькулятор, пока в таком тестовом виде av.emoney.blog

Все вроде работает как надо. Все считает.
Но вот появилась необходимость отправить форму на почту.
Форма отправляется на почту админу и пользователю.
А раз отправляется пользователю - должна читаться нормально...

Поскольку тут все поля - селекты, чекбоксы, радиобаттоны,
то на почту приходит значение value, либо "on" для чекбокса.

Соответсвенно когда на почту приходит название поля и value 1 или 2 - то это как-то не удобно...

С другой стороны, числовые value применялись чтобы в калькуляторе все нормально работало.

Есть какой-то вариант, чтобы при отправке на почту, вместо value="1" приходил какой-то текст, заданный заранее?

Отправляются данные при помощи phpmailer, но это не принципиально...

Приходит в таком виде:
Бюджет (1-Дешево, 2-Средний, 3-Премиум) - 1
Размер витрины - 1
Тип проектора для маленькой витрины - 2
Ответить с цитированием
  #2 (permalink)  
Старый 29.10.2017, 08:47
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

the_little, а что мешает на сервере сделать нормальный вид письма?
Ответить с цитированием
  #3 (permalink)  
Старый 29.10.2017, 13:01
Профессор
Отправить личное сообщение для the_little Посмотреть профиль Найти все сообщения от the_little
 
Регистрация: 25.09.2017
Сообщений: 186

Сообщение от ruslan_mart Посмотреть сообщение
the_little, а что мешает на сервере сделать нормальный вид письма?
Уровень знаний, надо полагать...

Я еще сейчас подумал, у меня выводится в html такие значения из калькулятора. Может можно их передать на почту? ПРосто там же динамические данные получается.

document.getElementById("check-sp").innerHTML = sp;
    document.getElementById("check-pp").innerHTML = pp;
    document.getElementById("check-lp").innerHTML = lp;
    document.getElementById("check-w").innerHTML = w;
    document.getElementById("check-ip").innerHTML = ip;
    document.getElementById("check-cp").innerHTML = cp;
    document.getElementById("check-kp").innerHTML = kp;
    document.getElementById("check-m").innerHTML = m;


Ну и html
<div class="check">
		<div class="check-sp">
			Стоимость пленки:
			<span id="check-sp"></span>
		</div>
		<div class="check-pp">
			Стоимость проектора:
			<span id="check-pp"></span>
		</div>
		<div class="check-lp">
			Стоимость лазера:
			<span id="check-lp"></span>
		</div>
		<div class="check-w">
			Стоимость WUXGA:
			<span id="check-w"></span>
		</div>
		<div class="check-ip">
			Источник:
			<span id="check-ip"></span>
		</div>
		<div class="check-cp">
			Коммутация:
			<span id="check-cp"></span>
		</div>
		<div class="check-kp">
			Крепление:
			<span id="check-kp"></span>
		</div>
		<div class="check-m">
			Монтаж:
			<span id="check-m"></span>
		</div>
	</div>
Ответить с цитированием
  #4 (permalink)  
Старый 29.10.2017, 14:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от the_little
у меня выводится в html такие значения из калькулятора. Может можно их передать на почту?

document.getElementById("check-sp").innerHTML = sp;
document.getElementById("check-pp").innerHTML = pp;
document.getElementById("check-lp").innerHTML = lp;
То есть sp, pp, lp, ... это как раз то, что пользователю будет понятно?
Ответить с цитированием
  #5 (permalink)  
Старый 29.10.2017, 15:04
Профессор
Отправить личное сообщение для the_little Посмотреть профиль Найти все сообщения от the_little
 
Регистрация: 25.09.2017
Сообщений: 186

Сообщение от laimas Посмотреть сообщение
То есть sp, pp, lp, ... это как раз то, что пользователю будет понятно?
совершенно верно. Это переменные, в которых хранится сумма за то или иное оборудование.

Вообще имея возможность отправить на почту данные со скрипта, я смогу сверстать любые нужные данные... Вопрос как их отправить на почту.

Хотя я так понимаю есть вариант отправить на email без php, на чистом JS
Ответить с цитированием
  #6 (permalink)  
Старый 29.10.2017, 15:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от the_little
совершенно верно.
Уверены в этом? А если реальный пример из жизни? Пришли вы в магазин, а на полках товары не с названиями "Конфеты", "Печенье", ..., а "1239023234", "234as34yts78", понятно ли будет, что за товары вам предлагают?
Ответить с цитированием
  #7 (permalink)  
Старый 29.10.2017, 15:40
Профессор
Отправить личное сообщение для the_little Посмотреть профиль Найти все сообщения от the_little
 
Регистрация: 25.09.2017
Сообщений: 186

Сообщение от laimas Посмотреть сообщение
Уверены в этом? А если реальный пример из жизни? Пришли вы в магазин, а на полках товары не с названиями "Конфеты", "Печенье", ..., а "1239023234", "234as34yts78", понятно ли будет, что за товары вам предлагают?
так если я смогу в принципе передать данные из JS скрипта на почту - то там же можно прописать все что угодно...

Например я пишу

alert("Стоимость пленки на витрину - " + sp);

При этом никто мне не мешает в зависимости от того же value в полях - объявить переменные, в которых я укажу например "Витрина размером 1м*2м". И там же выведу размер витрины, потом стоимость пленки, и так по все нужным данным.
Если я смогу передать это на почту - то дело сделано, как мне видится...

Вопрос в том как вставить это в письмо!

В php файле отправки, в самом начале задаются как я понимаю тоже переменные, в которых хранятся value полей.

т.е.
$size = $_POST['size'];


тут берется значение value из поля с именем size.
потом идет html тело письма, где я пишу Размер витрины - $size.

Если бы таким макаром можно было забрать данные не из поля, а просто из div.
Ответить с цитированием
  #8 (permalink)  
Старый 29.10.2017, 15:43
Профессор
Отправить личное сообщение для the_little Посмотреть профиль Найти все сообщения от the_little
 
Регистрация: 25.09.2017
Сообщений: 186

Кстати пришла одна мысль...
СОздать скрытый текстовый инпут, передать в него из скрипта нужные данные, а потом их из это поля вытащить в письмо...

гемор некоторый, но вроде рабочий вариант...
Главное чтобы в value текстового поля можно было передать информацию в таком виде
"Стоимость пленки на витрину - " + sp
Ответить с цитированием
  #9 (permalink)  
Старый 29.10.2017, 16:17
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от the_little
При этом никто мне не мешает в зависимости от того же value в полях - объявить переменные, в которых я укажу например "Витрина размером 1м*2м".
Вот это уже в правильном направлении мысль. Сервер хранит данные, и для удобства оперирования ими, их проверки, данные структурируют. В случае с БД, данные зачастую хранятся под уникальными идентификаторами, в качестве которых зачастую используются числа. Числа потому, что с ними легче работать. Поэтому на клиенте, список формы может выглядеть так:

<select name="pattern">
<opton value=1>В горошек</option>
<opton value=2>В полоску</option>
<opton value=3>В клетку</option>
</select>


Сервер получив форму, проверив, что есть товар и под ключом pattern с выбранным значением 2 действительно возвращается его дизайн, помещает в тело письма "Ситец в полоску".

А 1, 2, 3, не пойдет. Как всякие sp, lp, если только это речь не о размерах одежды SSL и прочее, но и в БД этот размер не будет представлен значением этим, а скорее идентификатором (читайте о нормализации баз данных).

Если используется не БД, то плохо, но для "мелочи ограниченной", к примеру, пойдет, и данные должны быть описаны по тем же принципам как и в БД, и не потому, что "никто мне не мешает", а потому, что так легче оперировать данными как при выводе их пользователю, так и при их проверке.

Последний раз редактировалось laimas, 29.10.2017 в 16:20.
Ответить с цитированием
  #10 (permalink)  
Старый 29.10.2017, 16:21
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от the_little
СОздать скрытый текстовый инпут, передать в него из скрипта нужные данные, а потом их из это поля вытащить в письмо...
Не надо мусора.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery - Конфликт функций при отправке формы по ajax Belka AJAX и COMET 5 20.06.2015 02:15
плавный скролинг при нажатии кнопки на форме sones Элементы интерфейса 14 23.03.2015 20:32
изменение значения input при смене значения select galart jQuery 4 30.01.2015 19:39
Onchange при изменении значения из скрипта. abstract Events/DOM/Window 9 01.03.2011 23:10
При отправке POST-запроса в заголовке к серверу вместо POST указывается OPTIONS VasiliyLuka AJAX и COMET 1 14.12.2009 14:57