Javascript 如何在复选框选中/取消选中事件上发送post请求
我有4个复选框Javascript 如何在复选框选中/取消选中事件上发送post请求,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有4个复选框 <input type="checkbox" name="1" id="1" data-toggle="toggle" data-onstyle="default" data-width="500%" > <input type="checkbox" name="2" id="2" data-toggle="toggle" data-onstyle="default" data-width="500%" > <input type="
<input type="checkbox" name="1" id="1" data-toggle="toggle" data-onstyle="default" data-width="500%" >
<input type="checkbox" name="2" id="2" data-toggle="toggle" data-onstyle="default" data-width="500%" >
<input type="checkbox" name="3" id="3" data-toggle="toggle" data-onstyle="default" data-width="500%" >
<input type="checkbox" name="4" id="4" data-toggle="toggle" data-onstyle="default" data-width="500%" >
如何执行此操作,您可以在复选框中使用onchange事件。 例如:
<input type="checkbox" name="1" id="1" data-toggle="toggle" data-onstyle="default"
data-width="500%" onchange="some_function();">
在函数makeajax调用中,您可以在复选框中使用onchange事件。 例如:
<input type="checkbox" name="1" id="1" data-toggle="toggle" data-onstyle="default"
data-width="500%" onchange="some_function();">
并在函数中进行ajax调用无jquery:
功能任务(e)
{
如果(例如,选中目标)
{
///使用参数中的1执行post请求
log(“使用参数中的1执行post请求”);
}
其他的
{
///使用0参数执行post请求
log(“使用0参数执行post请求”);
}
}
无jquery:
功能任务(e)
{
如果(例如,选中目标)
{
///使用参数中的1执行post请求
log(“使用参数中的1执行post请求”);
}
其他的
{
///使用0参数执行post请求
log(“使用0参数执行post请求”);
}
}
在复选框中添加一个类,例如,class='something'
,然后您可以尝试以下操作(使用问题中标记的jQuery):
您可以在
php
中使用$\u post['id']
和$\u post['value']
在复选框中添加一个类,例如,class='something'
,然后您可以尝试以下操作(使用问题中标记的jQuery):
您可以使用
$\u post['id']
和$\u post['value']
在项目根目录中将其另存为ajax.php
。运行它并打开浏览器控制台以查看结果:
<?php
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
var_dump($_POST['id']);
var_dump($_POST['value']);
} else {
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="1" id="1" data-toggle="toggle" data-onstyle="default" data-width="500%" >
<input type="checkbox" name="2" id="2" data-toggle="toggle" data-onstyle="default" data-width="500%" >
<input type="checkbox" name="3" id="3" data-toggle="toggle" data-onstyle="default" data-width="500%" >
<input type="checkbox" name="4" id="4" data-toggle="toggle" data-onstyle="default" data-width="500%" >
<script>
$('input[type="checkbox"]').on('click', function(){
var data = {};
data.id = $(this).attr('id');
data.value = $(this).is(':checked') ? 1 : 0;
console.log(data);
$.ajax({
type: "POST",
url: "/ajax.php",
data: data,
}).done(function(data) {
console.log(data);
});
});
</script>
<?php } ?>
$('input[type=“checkbox”]”)。在('click',function()上{
变量数据={};
data.id=$(this.attr('id');
data.value=$(this).is(':checked')?1:0;
控制台日志(数据);
$.ajax({
类型:“POST”,
url:“/ajax.php”,
数据:数据,
}).完成(功能(数据){
控制台日志(数据);
});
});
结果是这样的:
在项目根目录中将其另存为
ajax.php
。运行它并打开浏览器控制台以查看结果:
<?php
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
var_dump($_POST['id']);
var_dump($_POST['value']);
} else {
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="1" id="1" data-toggle="toggle" data-onstyle="default" data-width="500%" >
<input type="checkbox" name="2" id="2" data-toggle="toggle" data-onstyle="default" data-width="500%" >
<input type="checkbox" name="3" id="3" data-toggle="toggle" data-onstyle="default" data-width="500%" >
<input type="checkbox" name="4" id="4" data-toggle="toggle" data-onstyle="default" data-width="500%" >
<script>
$('input[type="checkbox"]').on('click', function(){
var data = {};
data.id = $(this).attr('id');
data.value = $(this).is(':checked') ? 1 : 0;
console.log(data);
$.ajax({
type: "POST",
url: "/ajax.php",
data: data,
}).done(function(data) {
console.log(data);
});
});
</script>
<?php } ?>
$('input[type=“checkbox”]”)。在('click',function()上{
变量数据={};
data.id=$(this.attr('id');
data.value=$(this).is(':checked')?1:0;
控制台日志(数据);
$.ajax({
类型:“POST”,
url:“/ajax.php”,
数据:数据,
}).完成(功能(数据){
控制台日志(数据);
});
});
结果是这样的:
看看图书馆。它是一个用于浏览器的基于Promise的轻量级HTTP客户端
功能
- 从浏览器生成XMLHttpRequests
- 支持Promise API
- 拦截请求和响应
- 转换请求和响应数据
- JSON数据的自动转换
- 客户端支持防止XSRF攻击
<input type="checkbox" name="describeyouraction" id="checkbox_1">
// Post requst to /toggle route
axios.post('/toggle', {
id: (document.getElementById("checkbox_1")).id,
describeyouraction: (document.getElementById("checkbox_1")).name,
})
.then((response) => {
// do something if request is successfull ...
})
.catch((error) => {
console.log(error.response.data);
});
//Post REQUEST to/切换路由
axios.post(“/toggle”{
id:(document.getElementById(“复选框1”)).id,
描述您的操作:(document.getElementById(“checkbox_1”)).name,
})
。然后((响应)=>{
//如果请求成功,请执行某些操作。。。
})
.catch((错误)=>{
console.log(error.response.data);
});
看看这个库。它是一个用于浏览器的基于Promise的轻量级HTTP客户端
功能
- 从浏览器生成XMLHttpRequests
- 支持Promise API
- 拦截请求和响应
- 转换请求和响应数据
- JSON数据的自动转换
- 客户端支持防止XSRF攻击
<input type="checkbox" name="describeyouraction" id="checkbox_1">
// Post requst to /toggle route
axios.post('/toggle', {
id: (document.getElementById("checkbox_1")).id,
describeyouraction: (document.getElementById("checkbox_1")).name,
})
.then((response) => {
// do something if request is successfull ...
})
.catch((error) => {
console.log(error.response.data);
});
//Post REQUEST to/切换路由
axios.post(“/toggle”{
id:(document.getElementById(“复选框1”)).id,
描述您的操作:(document.getElementById(“checkbox_1”)).name,
})
。然后((响应)=>{
//如果请求成功,请执行某些操作。。。
})
.catch((错误)=>{
console.log(error.response.data);
});