У меня есть функция для проверки электронной почты, имени и фамилии.
function checkcontactdetails(){
var details = {
'email' : jQuery('#email').val(),
'first_name' : jQuery('#first_name').val(),
'last_name' : jQuery('#last_name').val(),
};
jQuery.ajax({
url : 'checkcontactdetails.php',
type : 'POST',
data : details,
success : function(data){
if(data != 'passed'){
jQuery('#payment-errors-step2').html(data);
}
if(data == 'passed'){
$('.step3').show();
$('#payment-errors-step2').html("");
}
},
error : function(){alert("Something Went Wrong");},
});
}
функция вызывается здесь:
<button class="btn btn-primary btn-sm" type="button" id="checkoutbtn1" onclick="checkcontactdetails();">Next Step1</button>
здесь идут ошибки:
<span class="bg-danger" id="payment-errors-step2"></span>
Это моя вызываемая страница checkcontactdetails.php:
<?php
include 'core/initial.php';
$email = sanitize($_POST['email']);
$first_name = sanitize($_POST['first_name']);
$last_name = sanitize($_POST['last_name']);
$errors = array();
$required = array(
'email' => 'Email',
'first_name'=> 'First Name',
'last_name' => 'Last Name',
);
//Check if all required fields are filled out
foreach($required as $f => $d){
if(empty($_POST[$f]) || $_POST[$f] == ''){
$errors[] = $d.' is required.';
}
}
//Check if valid email address
if(!filter_var($email,FILTER_VALIDATE_EMAIL)){
$errors[] = 'Please enter a valid email.';
}
if(!empty($errors)){
echo display_errors($errors);
}else {
echo 'passed';
}
?>
То, что я сделал до сих пор, - это проверка выполнения кнопки и получение оповещения о том, что «пройдено»
Итак, я знаю, что вызов ajax добирается до шага успеха, потому что а) я получаю "пропущенный" и б) ошибки удаляются этим кодом:
if(data != 'passed'){
jQuery('#payment-errors-step2').html(data);
}
То, что я хочу сделать, - это когда успех «пройден», чтобы показать следующий шаг процесса, в данном случае это шаг 3, и очистить ошибки, если они есть.
Я ходил по кругу, думаю, у меня правильный синтаксис, поэтому у меня есть другие функции, аналогично настроенные (которые работают), но по какой-то причине эта не работает.
Следует отметить, что я установил для каждого шага отображение: нет, поэтому единственный способ отобразить шаги - это сделать это с помощью функций.
Любая помощь будет принята с благодарностью.
Спасибо