Отправка нужных данных на почту из формы на сайте
Есть форма на сайте с помощью которой пользователь может выбрать нужную ему организацию и в поле ниже подставится нужный ему ИНН через js, мне нужно этот ИНН передать как то на почту, но программа берет только последний ИНН и передает его, или берет сразу все. Подскажите пожалуйста как правильно это реализовать?
<select name="myorganizations1" class="form-control" id="exampleFormControlSelect1" onChange="Selected(this)">
<option selected value="компания1" >компания1 </option>
<option value="компания2" >компания2 </option>
<option value="компания3" >компания3 </option>
<div id="Label1" class="form-group">
<label for="exampleFormControlInput1">ИНН</label>
<input type="text" name="inn1" readonly class="form-control" id="staticEmail" value="123">
</div>
<div id="Label2" class="form-group" style="display:none">
<label for="exampleFormControlInput1">ИНН</label>
<input type="text" name="inn2" readonly class="form-control" id="staticEmail" value="1234">
</div>
<div id="Label3" class="form-group" style="display:none">
<label for="exampleFormControlInput1">ИНН</label>
<input type="text" name="inn3" readonly class="form-control" id="staticEmail" value="12345">
</div>
<script>
function Selected(a) {
var label = a.value;
if (label=="компания1") {
document.getElementById("Label1").style.display='block';
document.getElementById("Label2").style.display='none';
document.getElementById("Label3").style.display='none';
} else if (label=="компания2") {
document.getElementById("Label1").style.display='none';
document.getElementById("Label2").style.display='block';
document.getElementById("Label3").style.display='none';
} else if (label=="компания3") {
document.getElementById("Label1").style.display='none';
document.getElementById("Label2").style.display='none';
document.getElementById("Label3").style.display='block';
} else {
document.getElementById("Label1").style.display='block';
document.getElementById("Label2").style.display='none';
document.getElementById("Label3").style.display='none';
}
}
</script>
<?php
/* Здесь проверяется существование переменных */
if (isset($_POST['myorganizations1'])) {$myorganizations1 = $_POST['myorganizations1'];}
if (isset($_POST['inn1'])) {$inn1 = $_POST['inn1'];}
if (isset($_POST['inn2'])) {$inn2 = $_POST['inn2'];}
if (isset($_POST['inn3'])) {$inn3 = $_POST['inn3'];}
/* Сюда впишите свою эл. почту */
$myaddres = ""; // кому отправляем
/* А здесь прописывается текст сообщения, \n - перенос строки */
$mes = "Заказ акта сверки на E-mail: $staticEmail\n
Поставщик: $myorganizations1\n
ИНН: $inn1\n ";//что нужно написать чтобы выбирался нужный инн?
/* А эта функция как раз занимается отправкой письма на указанный вами email */
$sub='компании'; //сабж
$email=''; // от кого
//$send = mail ($myaddres,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email");
if (mail($myaddres,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email"))
{
echo '<p style="margin-top: 20px;border: 1px solid;width: 30%;padding: 10px;">Cообщение успешно отправлено</p>';
} else {
echo '<p style="margin-top: 20px;border: 1px solid;width: 30%;padding: 10px;">При отправке сообщения возникли ошибки</p>';
}
Ответы (1 шт):
Автор решения: pgood
→ Ссылка
function Selected(a) {
// выбранное значение из селекта надо получать так
var label = a.options[a.selectedIndex].value;
...
}
Чтобы не плодить инпуты для ИНН можете сам ИНН хранить в том же option, а при выборе из списка, подставлять соответствующее значение в поле ИНН.
<form>
<select name="myorganizations1" class="form-control" onChange="Selected(this)">
<option selected value="компания1" data-inn="4578770909">компания1 </option>
<option value="компания2" data-inn="5578770909">компания2 </option>
<option value="компания3" data-inn="6578770909">компания3 </option>
</select>
<div class="form-group">
<label for="inputInn">ИНН</label>
<input type="text" name="inn" readonly class="form-control" id="inputInn">
</div>
</form>
<script>
function Selected(select) {
var inputInn = document.getElementById("inputInn");
if(select.selectedIndex > -1){
var option = select.options[select.selectedIndex];
inputInn.value = option.dataset.inn;
}else{
inputInn.value = '';
}
}
</script>