У меня есть форму. Форма имеет 1 действие и 1 кнопку отправки. Если я нажму кнопку «Отправить», он выполнит проверку, и если все будет в порядке, он отправит данные на сторонний сайт, а оплата на этом сайте будет произведена, а почта отправлена владельцу сайта, на котором была сделана транзакция. Теперь я хочу добавить еще одну кнопку отправки, которая отправляет только электронную почту. У меня есть форма, как это:Одна форма 2 кнопки отправки 2 действия
<form name="bookingForm" class="cmxform" id="bookingForm" method="post" action="third-party-site.php" accept-charset="utf-8">
, а затем у меня есть такие поля, как имя, адрес электронной почты и т.д.
и кнопку отправки:
<input type="submit" value="PROCEED TO BOOKING" name="submit1" id="submitButton" class="btn btn-info pull-right" title="Click here to submit!"/>
Так что я попытался это:
$('#submitButton2').click(function(){
$('form[name=bookingForm]').setAttrib('action','send_mail.php');
$('form[name=bookingForm]').submit();
});
и этот:
$('#submitButton2').click(function(){
$('#bookingForm').attr('action', 'send_mail.php');
});
но ничего не работает. Поэтому, если кто-то может мне помочь, я был бы признателен.
Теперь я добавил скрипт, который проверяет на отправке клика, и я добавил process.php, который отправляет почту. Проверки в порядке, но когда нужно перейти к process.php, она дает ошибку, поскольку она постоянно добавляет имя домена перед пути к process.php. Process.php находится внутри папки темы, и я определил путь к публикации publichtml/pagename.com/wp/content/themes/mytheme/process.php, а в консоли сказано, что страница не найдена http://www.example.com/publichtml/pagename.com/wp/content/themes/mytheme/process.php.
Теперь я сделал звонок ajax, поэтому он отправляет электронную почту на другую кнопку.
$(document).ready(function() {
$('input[placeholder], textarea[placeholder]').placeholder();
$('#submit2').removeAttr('disabled');
$('#bookingForm').validate({
debug: true,
//submitHandler: ajaxSubmit
rules: {
},
messages: {
first_name: "First name field required.",
last_name: "Last name field required.",
email: {
required: "Email address required",
email: "Email address must be in the format [email protected]"
}
}
});
$('#submit2').click(function() {
if($('#bookingForm').valid()) {
ajaxSubmit();
}
else {
$('label.error').hide().fadeIn('slow');
}
});
});
function ajaxSubmit() {
$('#bookingForm').attr('disabled', 'disabled');
var firstName = $('#first_name').val();
var lastName = $('#last_name').val();
var email = $('#email').val();
var data = 'firstName=' +firstName+ '&lastName=' +lastName+ '&email=' +email;
$.ajax({
url: '<?php bloginfo('template_directory'); ?>/process.php',
type: 'POST',
dataType: 'json',
data: data,
cache: false,
success: function(response) {
if(response.error != 'true') {
$('#loading, #bookingForm, .message').fadeOut('slow');
$('#response').html('<h3>Message sent successfully! </h3>').fadeIn('slow');
}
else {
$('#loading').fadeOut('slow');
$('#submit2').attr('disabled', 'disabled');
$('#response').html('<h3>There was a problem sending mail!</h3>').fadeIn('slow');
}
},
error: function(jqXHR, textStatus, errorThrown) {
$('#loading').fadeOut('slow');
$('#submit2').removeAttr('disabled');
$('#response').text('Error Thrown: ' +errorThrown+ '<br>jqXHR: ' +jqXHR+ '<br>textStatus: ' +textStatus).show();
}
});
return false;
}
и мой process.php:
<?php
sleep(2);
define('TO', '[email protected]');
define('FROM', $_POST['email']);
define('SUBJECT', 'inquiry');
$isValid = true;
$return = array("error" => "false");
if($_SERVER['REQUEST_METHOD'] == 'POST') {
global $return;
if (sendEmail()) {
//return "Message sent successfully!";
echo json_encode($return);
}
else {
echo json_encode($return);
}
}
function sendEmail() {
global $return;
$body = "";
$body .= "From: ".$_POST['email']."\nSubject: " . 'inquiry';
$body .= "\nFirst Name: ".$_POST['first_name'];
$body .= "\nLast Name: " .$_POST['lastName'];
if (@mail(TO, 'inquiry', $body)) {
//if(true) {
$return['error'] = 'false';
}
else {
$return['error'] = 'true';
}
return $return;
}
, но я не могу получить значения? Кто-нибудь знает, где я ошибся?
Получаете ли вы какие-либо ошибки в консоли? - А где ваш «# submitButton2»? Я могу только 1 – Epodax
Предположительно вы добавили ' MaggsWeb
Да, я добавил вторую кнопку с id submitButton2, и я сделал send_mail.php, который должен отправить почту. Он вводится как submitbutton1 – KondukterCRO