У меня есть список из трех значений параметра в таблице. «Утверждено» «Ожидание» и «Отклонено». Когда пользователь выбирает параметр, я хочу отправить другое электронное письмо этому человеку. У меня есть другое имя поля «Адрес электронной почты» в той же строке (рядом с раскрывающимся списком). Я думал, что смогу захватить конкретный адрес электронной почты в ячейке и отправить электронное письмо на основе выбора. Будет ли это достигнуто с помощью инструкции If else для каждого значения параметра, а затем отправки определенного mailto на адрес электронной почты в таблице? или было бы лучше иметь кнопку отправки, которая отправляет электронную почту после выбора выбора? Спасибо.Отправить письмо на основе выпадающего списка
ответ
Как только выбор был выбран, почти всегда лучше иметь кнопку отправки. Это дает людям возможность быть уверенными в своих действиях, прежде чем их возьмут за них. Например, они могут случайно выбрать неправильный вариант выбора и захотеть его изменить. Это просто лучше, чтобы выпустить это действие для выбора, а кнопка отправки - действие для отправки электронной почты. Это также позволяет избежать путаницы пользователей (путайте пользователя, и они никогда не захотят использовать ваше приложение снова, гарантировано).
Но в любом случае, если вы хотите отправить электронное письмо при выборе значения выпадающего значения, вам нужно сделать это в JavaScript. Это связано с тем, что вы имеете дело с элементом управления на передней панели, и выполнение такого действия не является типичным поведением для выбранного элемента HTML.
Я покажу вам, как сделать это в JQuery с использованием AJAX, так как это легко и просто (http://jquery.com)
<script type="text/javascript">
$('#email-dropdown').on('change', function() {
$.ajax({
url: <some_file_that_handles_emailing>,
type: 'post',
dataType: 'json',
data: { 'selected': $(this).val() },
success: function(response) {
alert(response.msg);
}
});
);
</script>
<select id="email-dropdown">
<option value="accepted">Accepted</option>
<option value="pending">Pending</option>
<option value="disapproved">Disapproved</option>
</select>
Это будет работать, чтобы отправить по электронной почте после того, как значение изменяется. Кроме того, я не указывал значение по умолчанию, потому что, если у вас есть выбор по умолчанию, для этого значения не будет «изменения», и пользователь не сможет инициировать электронную почту, если он не щелкнул другое значение сначала, а затем изменили назад (таким образом, запуск двух писем).
Если вы хотите иметь кнопку отправки вместо:
<form id="email-form" action="<some_file_that_handles_emailing>">
<select id="email-dropdown" name="email-dropdown">
<option value="accepted">Accepted</option>
<option value="pending">Pending</option>
<option value="disapproved">Disapproved</option>
</select>
<input type="submit" value="Send Email" />
</form>
И это все!
Большое спасибо за решения. Как бы я поля POST из таблицы, которая была заполнена из базы данных? это значит, что я могу обработать полевые данные, а затем отправить их на адрес электронной почты. Например: Php while ($ row = mysql_fetch_array ($ result)) { echo "
Что вы пробовали, укажите код –