Php 复选框为票证时发送帖子-不带提交按钮
我想在选中其中一个复选框时,不使用submit按钮发送POST数据—使用AJAX 我有这段代码,但我认为,当我勾选复选框时,我应该得到一个带有已发布数据的警报(要知道,它正在工作),但我根本没有得到任何反应。我添加了jquery,因此它是代码函数中的某种错误Php 复选框为票证时发送帖子-不带提交按钮,php,jquery,ajax,checkbox,Php,Jquery,Ajax,Checkbox,我想在选中其中一个复选框时,不使用submit按钮发送POST数据—使用AJAX 我有这段代码,但我认为,当我勾选复选框时,我应该得到一个带有已发布数据的警报(要知道,它正在工作),但我根本没有得到任何反应。我添加了jquery,因此它是代码函数中的某种错误 <form method="post" name="form1"> <input type="checkbox" name="checkboxList[]" value="1">value1</inpu
<form method="post" name="form1">
<input type="checkbox" name="checkboxList[]" value="1">value1</input>
<input type="checkbox" name="checkboxList[]" value="2">value2</input>
<input type="checkbox" name="checkboxList[]" value="3">value3</input>
</form>
<script>
jQuery(document).ready(function($){
// jQuery code is in here
$("input[type=checkbox]").on("click", function() {
var data = $(this).val();
console.log(data); // 1, 2 or 3 (value)
$.ajax({
url: "<?php echo JURI::getInstance(); ?>", // URL should be correct!
type: "POST",
async: true,
cache: false,
data: {data: data},
dataType: 'text',
success: function(data){
alert(data);
}
});
});
});
</script>
价值1
价值2
价值3
jQuery(文档).ready(函数($){
//jQuery代码在这里
$(“输入[type=checkbox]”)。在(“单击”,函数(){
var data=$(this.val();
console.log(数据);//1、2或3(值)
$.ajax({
url:,//url应该是正确的!
类型:“POST”,
async:true,
cache:false,
数据:{data:data},
数据类型:“文本”,
成功:函数(数据){
警报(数据);
}
});
});
});
问题:获取页面的HTML内容,而不是成功方法的值将HTML更改如下1。删除
并更改2。将表格名称
更改为id
<form method="post" id="form1">
<input type="checkbox" name="checkboxList[]" value="1">value1
<input type="checkbox" name="checkboxList[]" value="2">value2
<input type="checkbox" name="checkboxList[]" value="3">value3
</form>
您的表单没有选择,在post中有空白数据请尝试下面的代码
<form method="post" name="form1">
<input type="checkbox" name="checkboxList[]" value="1">value1</input>
<input type="checkbox" name="checkboxList[]" value="2">value2</input>
<input type="checkbox" name="checkboxList[]" value="3">value3</input>
</form>
<script>
$("input[type=checkbox]").on("click", function() {
var data = $("form").serialize();
$.ajax({
url: "../../x.php", // URL should be correct!
type: "POST",
async: true,
cache: false,
data: {data: data},
dataType: 'json',
success: function(response_data){
alert(response_data);
}
});
});
</script>
价值1
价值2
价值3
$(“输入[type=checkbox]”)。在(“单击”,函数(){
变量数据=$(“形式”).serialize();
$.ajax({
url:“../x.php”,//url应该正确!
类型:“POST”,
async:true,
cache:false,
数据:{data:data},
数据类型:“json”,
成功:函数(响应_数据){
警报(响应数据);
}
});
});
您有一个成功回调函数,但也应该有一个错误回调函数。同样的方法,除了不是success:function(){alert(data);}
它是error:function(data).
sharex.php
code也?@Niklesh x.php只包含print\r($\u POST);当然,我得到的是空数组。尝试将此数据:({data:data})更改为数据:{data:data},仍然不会得到任何警报。可能是因为url有点错误吗?你们检查过浏览器控制台了吗?这将有助于找出问题所在。控制台显示“JQMIGRATE:Migrate已安装,版本1.4.1”,但当我勾选复选框时,不会显示其他内容。我已将答案从“选中”事件更新为“单击”事件。请尝试并检查您的控制台..啊,您是否包含jquery文件?:)
<form method="post" name="form1">
<input type="checkbox" name="checkboxList[]" value="1">value1</input>
<input type="checkbox" name="checkboxList[]" value="2">value2</input>
<input type="checkbox" name="checkboxList[]" value="3">value3</input>
</form>
<script>
$("input[type=checkbox]").on("click", function() {
var data = $("form").serialize();
$.ajax({
url: "../../x.php", // URL should be correct!
type: "POST",
async: true,
cache: false,
data: {data: data},
dataType: 'json',
success: function(response_data){
alert(response_data);
}
});
});
</script>