#php #jquery #html #email
#php #jquery #HTML #Адрес электронной почты
Вопрос:
Я пытаюсь отправить электронное письмо при нажатии кнопки html. Я хочу, чтобы электронное письмо просто отправлялось в фоновом режиме, не влияя на просмотр HTML-страницы вообще. Вот что я пытаюсь прямо сейчас
ФОРМА
<form action="" class="collapsed nav-form" data-parsley-validate="" id="nav_waitlist_form" method="post">
<div class="form-group" id="nav_email_group">
<label class="sr-only" for="join_waitlist_email">Email address</label>
<input class="form-control input-lg waitlist-email"data-parsley-error-message="!" data-parsley-required="true" data-parsley-trigger="change" data-parsley-type="email" id="nav_email_input" name="email" placeholder= "Enter email address" type="email">
</div><button class="btn btn-lg btn-default nav-button" id="nav_waitlist_button" type="submit">Get In Touch With us</button>
</form>
<script type="text/jquery">
$('#nav_waitlist_button').live('click', function() {
$.get('sendmail.php?functionName=testamp;inputvar=something');
return false;
});
</script>
PHP:
if ($_REQUEST['functionName'] == 'test') {
mail('asbreckenridge@me.com', 'Some subject', 'somebody')
}
Комментарии:
1. Для этого вам нужен AJAX.
2. @Jonast92 — Он использует AJAX,
$.get
3. закройте эту почту php ‘;’
4. Так что же не работает с вашим кодом? Какие ошибки вы получаете?
5. К вашему СВЕДЕНИЮ: mailto тоже на стороне сервера. В чем проблема?
Ответ №1:
Интересно, почему вы не используете форму! Если все, что вам нужно, это кнопка, вы можете использовать button
, и вам не нужно будет добавлять целую форму без каких-либо form
элементов.
Возможно, вам захочется захватить данные, которые вы отправляете на сервер, чтобы вы могли отправлять эти данные. Всего несколько исправлений:
JS — если вы используете современную версию jQuery:
$(function() {
$(document).on('click', '#nav_waitlist_button', function() {
$.get('sendmail.php?functionName=testamp;inputvar=something');
return false;
});
});
PHP — не пропускайте semi-colon
:
if ($_REQUEST['functionName'] == 'test') {
mail('asbreckenridge@me.com', 'Some subject', 'somebody');
}