Правильно заполнить электронную почту, используя только HTML
Для задания мне нужно поставить form
на моей веб-странице, и форма заполнить электронную почту для пользователя, чтобы отправить.
Я написал это после поиска вокруг:
<form enctype="text/plain" method="post" action="mailto:[My Email Here]">
<input type="text" name="subject" value="Subject" />
<input type="text" name="body" value="Body" />
<input type="submit" name="submit" value="Submit" />
</form>
Который, как я и ожидал, открывает мой почтовый клиент и заполняет письмо для меня. Проблема в том, что это довольно уродливо и не интуитивно. Строка темы остается пустой, а тело заполняется:
subject=Subject
body=Body
submit=Submit
(4 lines of white-space)
В идеале я бы хотел, чтобы "субъект" заканчивался в субъекте, поле "тело" было единственным, что заканчивалось в теле, а "подчиненный" вообще не появлялся для пользователя.
Это возможно?
На данном этапе мне разрешено использовать только HTML. (Только HTML. Встроенные скрипты не допускаются).
2 ответа
ПОЛУЧИТЬ вместо POST
Измените метод формы с POST
в GET
, С использованием GET
метод добавит пары ключ / значение из input
поля в виде строки запроса на mailto:
ссылка в action
приписывать. Это создает URL, который почтовые клиенты понимают, как анализировать:
mailto:{TARGET EMAIL ADDRESS}?subject=Subject&body=Body
<form enctype="text/plain" method="GET" action="mailto:{TARGET EMAIL ADRESS}">
<input type="text" name="subject" value="Subject"/>
<input type="text" name="body" value="Body"/>
<input type="submit" name="submit" value="Submit">
</form>
mailto формы всегда будут добавлять все поля в тело письма. JavaScript может сделать трюк для вас. Вам разрешено использовать Javascript?
Может быть, это будет работать для вас
<html>
<form onsubmit="window.location='mailto:me@domain.com?subject='+myform.subject.value + '&body='+myform.comments.value" name="myform" method="post">
<input name="subject" value="Commencement Form" />
<input name="comments" value="my body" />
<input type="submit" value="submit">
</from>
</html>