2017-04-15 26 views
0

我想在不提交按钮的情况下发送POST数据,当勾选其中一个复选框时 - 使用AJAX。当复选框是票时发送POST - 无需提交按钮

我有这样的代码,但我认为,当我勾选复选框时,我应该得到一个发布数据的警报(要知道,它的工作),但我没有得到任何反应。我已经添加的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> 

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> 

问题:获取网页的HTML内容,而不是成功的方法值

+0

你有一个成功的回调函数,但你也应该有一个错误的回调函数。同样的方法,除了'成功:function(){alert(data);}'它是'error:function(data)...' –

+1

共享'x.php'代码吗? – C2486

+0

@Niklesh x.php只包含print_r($ _ POST);当然,我得到空阵列。 – JohnCoolGuy1996

回答

0

改变你的HTML如下1.删除</input>和变化2.变化形式nameid

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

变化JS

var data = $("#form1").serialize(); 

您的表单没有选择,并在后有空白数据

0

请尝试以下代码。

<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> 
+0

仍然没有得到任何警报。难道是因为url在某种程度上是错误的? – JohnCoolGuy1996

+0

你在浏览器控制台中检查过吗?这将有助于弄清楚发生了什么问题。 –

+0

控制台显示'JQMIGRATE:迁移已安装,版本1.4.1',但是当我勾选复选框时没有其他任何显示 – JohnCoolGuy1996

相关问题