带有json的Jquery表单没有获取值
Posted
技术标签:
【中文标题】带有json的Jquery表单没有获取值【英文标题】:Jquery form with json no get values 【发布时间】: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 中死亡并查看控制台以获取响应 【参考方案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");
【讨论】:
以上是关于带有json的Jquery表单没有获取值的主要内容,如果未能解决你的问题,请参考以下文章