ajax后表单复选框更改时jquery ajax不工作
ajax post form when checkbox is changed jquery ajax not working
当复选框更改时,我正在尝试创建一个表单提交我的代码如下。我的问题是上什么都没发生
gotofile.php
文件,但//dosomething在成功时执行功能
jquery:
$("#container input[type=checkbox]").change(function(e){
if($(this).attr('checked'))
{
var cnType=$(this).attr("id");
$.ajax({
type: "POST",
url: "gotofile.php",
data: "typID="+cnType ,
cache: false,
success: function(){
//do something
}
});
}
});
php:
include '../dbconnection/dbconfig.php';
$typeID=$_POST['typID'];
$qryConnections="INSERT INTO ...";
$rslt1 = mysql_query($qryConnections);
html
<form id="cnct" method="POST">
<div id="container" style="">
<ul style="list-style: none;">
<li><input type="checkbox" id="1" />A</li>
<li><input type="checkbox" id="2" />B</li>
</ul>
</div></form>
有人能帮我做错事吗?
几个安全问题
请始终记住,任何浏览到您网站的人都可以查看您的JS。使用:
data : "typID="+cnType
这会让我认为typID是SQL中的字段。您没有CSRF过滤器,因此我可以编写一个ajax脚本来伪造有效请求,并从外部位置更新所有字段。需要记住的是,我建议你阅读CSRF或跨站点请求伪造。
为什么你的脚本不起作用
如果成功函数正在启动,则脚本已运行。通过在PHP中输出$_POST['typID']的值来调试它。如果发送正确,您将在控制台中看到变量值。
除此之外,让你的PHP为你的成功函数回显一个JSON响应来验证一切是否顺利总是很好的。
echo json_encode(array('response' => 'success'));
或('response' => 'failed')
或任何您需要的。然后,您可以在success
函数中评估JSON。
我希望这能有所帮助。
首先应该使用click
而不是change
事件作为Jquery代码中的复选框。
第二件事是,您没有为html代码中的复选框提供任何值。
请询问它是否对您无效。
尝试
$("#container input[type='checkbox']").click(function(e){
var cnType=$(this).attr("id");
$.ajax({
type: "POST",
url: "gotofile.php",
data: "typID="+cnType ,
cache: false,
success: function(){
//do something
}
});
});
相关文章:
- 在FrontEndphp-ajax-jquery中验证reCaptcha-google
- AJAX jquery json将数组发送到php
- 如何使用Ajax/jQuery设置cookie
- PHP/Ajax/jquery/JON-在Ajax Post之后将echo文本中的一部分作为变量返回
- 如何使用Ajax JQuery.ech()获取JSON值
- 使用springform时,如何在ajax/jquery中获取复选框值
- JSP AJAX jQuery填充表问题
- Piping Value: Ajax + JQuery
- 使用javascript Without Ajax/Jquery在特定行中启用文本框
- 在AJAX jQuery加载()之后运行jQuery代码
- 具有动态更新的实时标题 (AJAX+jQuery)
- ajax/jQuery Youtube 播放列表推送
- AJAX jQuery Avatar Uploading
- 全局变量 - AJAX jQuery
- Ajax jquery mysqli update
- 获取剩余时间和上传文件速度 - ajax jquery/js
- 使用ajax/jquery绑定Json数据
- TypeError Obj.root是未定义的ajax jquery
- 当数据类型为XML时,如何将url参数传递给AJAX jquery
- 在ajax Jquery之后无法获取隐藏字段的值