2012-09-02 2 views
1

У меня есть список из трех значений параметра в таблице. «Утверждено» «Ожидание» и «Отклонено». Когда пользователь выбирает параметр, я хочу отправить другое электронное письмо этому человеку. У меня есть другое имя поля «Адрес электронной почты» в той же строке (рядом с раскрывающимся списком). Я думал, что смогу захватить конкретный адрес электронной почты в ячейке и отправить электронное письмо на основе выбора. Будет ли это достигнуто с помощью инструкции If else для каждого значения параметра, а затем отправки определенного mailto на адрес электронной почты в таблице? или было бы лучше иметь кнопку отправки, которая отправляет электронную почту после выбора выбора? Спасибо.Отправить письмо на основе выпадающего списка

+1

Что вы пробовали, укажите код –

ответ

2

Как только выбор был выбран, почти всегда лучше иметь кнопку отправки. Это дает людям возможность быть уверенными в своих действиях, прежде чем их возьмут за них. Например, они могут случайно выбрать неправильный вариант выбора и захотеть его изменить. Это просто лучше, чтобы выпустить это действие для выбора, а кнопка отправки - действие для отправки электронной почты. Это также позволяет избежать путаницы пользователей (путайте пользователя, и они никогда не захотят использовать ваше приложение снова, гарантировано).

Но в любом случае, если вы хотите отправить электронное письмо при выборе значения выпадающего значения, вам нужно сделать это в 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> 

И это все!

+0

Большое спасибо за решения. Как бы я поля POST из таблицы, которая была заполнена из базы данных? это значит, что я могу обработать полевые данные, а затем отправить их на адрес электронной почты. Например: "; echo $ row ['Orderno']; и затем, используя Orderno в теле моего письма (скрипт обработки формы), моя форма начинается с

, за которой следует таблица. Спасибо – m1243

+0

Этот ответ должен работать. –

+0

@ m1243: Похоже, вы должны опубликовать это как отдельный вопрос, если хотите действительно подробный ответ. – JoeLinux

1

Я бы порекомендовал кнопку отправки.
Что делать, если пользователь выбрал неправильный вариант? Тогда вы отправите два письма!

Кроме того, если у вас нет кнопки отправки, вам необходимо будет вызвать запрос AJAX для связи с PHP.

Смежные вопросы