#javascript #php
#javascript #php
Вопрос:
Мне интересно получить имя и адрес электронной почты пользователя из моей контактной формы и использовать его для отображения чего-то вроде этого: «Спасибо за ваше сообщение $name, мы ответим на следующее электронное письмо: $email» Я хочу внести изменения в .выполненная функция
Вот javascript:
$.ajax({
type: 'POST',
url: "sendemail.php",
data: {
Name: $form.find("input[name='name']").val(),
Subject: $form.find("input[name='subject']").val(),
Email: $form.find("input[name='email']").val(),
message: $form.find("textarea[name=message]").val(),
},
beforeSend: function () {
form.append(form_status.html('<p style="font-weight:bold;color:white;"><i class="fa fa-spinner w3-text-white w3-spin" style="font-size:50px"></i> Email is sending...</p>').fadeIn());
}
}).done(function (data) {
//here is the function i want to insert the information
form_status.html('<p style="color:white;" class="text-success w3-animate-fading"><i class="fa fa-check fa-2x" aria-hidden ="true"></i>n
Message sent. Thank you for contacting us phpName, we will reply to the following email: phpEmail <i class="fa fa-smile-o fa-2x" aria-hidden="true"></i> </p>')
.delay(7000).fadeOut();
});
Комментарии:
1. как ваши
sendemail.php
ответы? что выводит страница?2. Поделитесь своим
sendemail.php
тоже, пожалуйста3. Вам не нужно получать значения из PHP. У вас уже есть они в вашем JS. например
$form.find("input[name='email']").val()
. Просто используйте это.4. .done(функция (данные) — данные содержат все возвращенные данные с вашей страницы PHP. Итак, на вашей странице PHP вам нужно вернуть нужные данные, а затем вы можете получить доступ, например data.name и данные.электронная почта
5. Вы уже делаете это в строках 5 и 7. Эти строки получают нужные вам данные!
Ответ №1:
var name = $form.find("input[name='name']").val();
var email = $form.find("input[name='email']").val();
$.ajax({
type: 'POST',
url: "sendemail.php",
data: {
Name: name,
Subject: $form.find("input[name='subject']").val(),
Email: email,
message: $form.find("textarea[name=message]").val(),
},
beforeSend: function() {
form.append(form_status.html('<p style="font-weight:bold;color:white;"> < i class = "fa fa-spinner w3-text-white w3-spin" style = "font-size:50px" > < /i>Email is sending... < /p>').fadeIn());
}
}).done(function(data) {
//here is the function i want to retrieve the data from php
form_status.html('<p style="color:white;" class="text-success w3 - animate - fading "><i class="fa fa - check fa - 2 x " aria-hidden ="true "></i>n
Message sent. Thank you for contacting us ' name ', we will reply to your email shortly. <i class="fa fa - smile - o fa - 2 x " aria-hidden="true "></i></p>')
.delay(7000).fadeOut();
});
Поскольку у вас уже есть имя и информация об электронной почте в форме, я не понимаю, почему вы просто не используете это. Вам даже не нужно запрашивать эту информацию у сервера. Однако я предлагаю, чтобы в sendemail.php файл вы возвращаете объект, содержащий статус, если электронное письмо может быть отправлено или нет. Таким образом, вы можете отобразить сообщение об ошибке, если что-то пошло не так на сервере. Например, так:
{
success: true,
message: '',
errorCode: ''
}
Комментарии:
1. итак, все, что я хотел сделать, это вызвать переменную, чтобы упростить ее