Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在复选框选中/取消选中事件上发送post请求_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 如何在复选框选中/取消选中事件上发送post请求

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="

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