【问题标题】:Jquery form with json no get values带有json的Jquery表单没有获取值
【发布时间】:2013-07-24 18:26:11
【问题描述】:

我有 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;?>">

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

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

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

谢谢你的帮助,问候

【问题讨论】:

  • 打开您的控制台并查看错误并跟踪请求&我认为您需要在提交表单时使用
  • 我这样做了,没有出现问题
  • 如果你看到我的脚本我使用onsbumit
  • 抱歉,提交时距离很远,您的 AJAX 请求是否到达 PHP 脚本尝试使其在 PHP 中死亡并查看控制台以获取响应

标签: jquery json forms


【解决方案1】:

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

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");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-19
    • 2018-01-02
    • 2013-10-23
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    • 2012-09-21
    • 1970-01-01
    相关资源
    最近更新 更多