0

我有 2 个文件,一个用于验证表单的文件,用 php 编写,在这个文件中,如果表单是好的或坏的,我可以得到下一个响应:

print '{"captcha_error":"bad"}';
print '{"email_send":"bad"}';
print '{"email_request":"ok"}';

为了从文件 2 中启动表单,我使用带有 json 的 jquery:

<script type="text/javascript">
function send_contacter(idcc)
{

$.ajax({

cache: false,
url: 'send_form.php',
type: 'POST',
dataType: 'json', 
success: function(data) {



if (data.captcha_error=="bad")
{
alert("Captcha Error");
}

if (data.email_send=="bad")
{
alert("E-Mail Errors");
}

if (data.email_request=="ok")
{
alert("E-Mail Send");
}

}


});

}
</script>

在提交的同一页面中,我使用这样的一种形式:

<?php 
$tfw_number_format="1";
?>

<form id="contact-form-widget-<?php echo $tfw_number_format;?>" class="contact-form-widget" method="post" action="" onsubmit="send_contacter('<?php echo $tfw_number_format;?>');return false;" name="contact-form-widget-<?php echo $tfw_number_format;?>">

我得到的问题是这个,假设我去使用表格,对吧?我收到一个警报好的,但总是相同的警报,第一个警报,如果我去启动表单并且不使用 jquery 一切正常,这是因为 jquery 没有启动正确和 json 检索数据不好,因此没有检测到真实数据以显示和区分值,我认为.....

在另一边进行验证,如果我使用 alert(""+data); 总是没有从 json 接收值,总是在警报中显示对象对象

我认为我的代码中有一些不好的地方

感谢您的帮助,问候

4

1 回答 1

0

您必须检查是否首先定义了对象属性。

if (data.captcha_error !== undefined && data.captcha_error=="bad") {
    alert("Captcha Error");
}

if (data.email_send !== undefined && data.email_send=="bad") {
    alert("E-Mail Errors");
}

if (data.email_request !== undefined && data.email_request=="ok") {
    alert("E-Mail Send");
}
于 2013-07-25T03:25:16.193 回答