我具有检查电子邮件,名字和姓氏的功能。
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调用已成功完成,因为a)我“通过”了,b)通过以下代码消除了错误:
if(data != 'passed'){
jQuery('#payment-errors-step2').html(data);
}
我要做的是一旦成功通过“成功”以显示流程的下一步,在本例中为步骤3,并清除错误(如果存在)。
我一直在处理这个问题,我认为我的语法正确,因此我有其他类似的设置功能(可以正常工作),但是由于某种原因,该功能不起作用。
请注意,我已将每个步骤设置为显示:无,因此显示步骤的唯一方法是通过功能执行此操作。
任何帮助将不胜感激。
谢谢