Можно ли динамически установить получателя MAILTO: только с HTML и JavaScript? - PullRequest
2 голосов
/ 29 июля 2011

Я создаю форму, используя только HTML и JavaScript, где я хочу иметь возможность динамически устанавливать получателя POST-формы, изменяя адрес MAILTO: или CC-адрес строки mailto :.Это будет определяться значением текстового поля, если это вообще возможно.Назначение этой функции заключается в том, что данные формы необходимо отправлять другому менеджеру в зависимости от выбора, который они делают в раскрывающемся меню.Я видел, как это делается в одном месте (http://javascript.internet.com/forms/multiple-mailer.html), но моя проблема в том, что я заполняю раскрывающийся список из массива JS, который при выборе заполняет некоторые текстовые поля так же, как (http://www.webdeveloper.com/forum/showpost.php?p=984036&postcount=8).). Поэтому я хочу заполнить скрытый текствведите мой раскрывающийся список и извлеките из него данные, чтобы определить, кто получает электронную почту.

Я должен отметить, что это для корпоративного сайта INTRAnet, где не проблема отсутствия почтового клиента для настольных компьютеров и где IE является единственным браузером.Я не имею доступа к технологиям на стороне сервера, поэтому mailto - мой единственный вариант, пожалуйста, воздержитесь от лишних комментариев, рассказывающих, как это плохо, лол. Спасибо!

Мысли?

Ответы [ 3 ]

4 голосов
/ 29 июля 2011

Чтобы открыть почтовый клиент с некоторым адресом электронной почты:

location = 'mailto:' + email_address;

Чтобы установить href элемента a, сначала получите его, используя что-то вроде document.getElementById, затем установите свойство href:

document.getElementById('someLink').href = 'mailto:' + email_address;

email_address - это строка, содержащая соответствующий адрес электронной почты - вы можете заменить ее на выражение, которое получает значение раскрывающегося списка:

document.getElementById('someLink').href = 'mailto:' + document.getElementById('dropdown').value;
0 голосов
/ 12 апреля 2013

Да, это возможно.У меня есть поле параметров в моей форме, подобное этому:

<td><select name="Division" id="Division" onChange="dirChange()" tabindex="3">
<option selected>Choose One</option>
<option value="Communications">Communications</option>
<option value="Legal Services">Legal Services</option>
</select>        &nbsp;</td>

Это относится к функции javascript:

function dirChange()
{
var i = document.all.Division.value;
switch (i)
{

    case "Communications":
        document.all.DeputyDirector.value = "Dave C.";
        document.all.form.action = "mailto:Dave.C@xxxxx.com?subject=Form";
        break;

    case "Legal Services":
        document.all.DeputyDirector.value = "Dixie P.";
        document.all.form.action = "mailto:Dixie.P@xxxxxx.com?subject=Form";
        break;

    default:
        document.all.DeputyDirector.value = "";
        break;

}
}

Этот javascript затем помогает заполнить необходимую информацию в текстовом поле.и для формы, чтобы отправить по электронной почте выбранному человеку.

<tr>
  <td class="announcementText"> <span class="style12"><span class="style16"><span class="style31">*</span></span></span>Division Deputy Dir.:  </td>
  <td><input name="DeputyDirector" type="text" id="DeputyDirector" style="background-color:#cccccc; color:black; font-weight:bold; border:0; overflow:visible" size="38"></td>

</tr>

<form onChange="dirChange()" method="post" enctype="text/plain" name="form" id="form"   onSubmit="return checkform(this);">

Полученный HTML-код для клиента, после того, как он выберет разделение связи: для текстового поля:

<input name="DeputyDirector" type="text" id="DeputyDirector" style="background-color:#cccccc; color:black; font-weight:bold; border:0; overflow:visible" size="38" value = "Dave C.">

идля формы:

<form onChange="dirChange()" method="post" enctype="text/plain" name="form" id="form"   onSubmit="return checkform(this); action = "mailto:Dave.C@xxxxx.com?subject=Form">

или если они выбирают юридические услуги для текстового поля:

<input name="DeputyDirector" type="text" id="DeputyDirector" style="background-color:#cccccc; color:black; font-weight:bold; border:0; overflow:visible" size="38" value = "Dixie P.">

и для формы:

<form onChange="dirChange()" method="post" enctype="text/plain" name="form" id="form"   onSubmit="return checkform(this); action = "mailto:Dixie.P@xxxxxx.com?subject=Form">
0 голосов
/ 29 июля 2011

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

...