复选框上的HTML PHP输入选中属性而不提交表单

时间:2015-11-30 01:43:16

标签: php html form-submit

我有一个网站,上面有一个带有复选框的表格。在PHP中,我想知道是否有一个checked属性在复选框上丢失焦点时有效,而不是在我们单击提交按钮时。我试过了

    if (isset($_POST['check1'])) {

    // Checkbox is selected
    } else {

   // Alternate code
   }   

但它仅在单击提交按钮时有效。还有其他办法吗?

2 个答案:

答案 0 :(得分:2)

由于PHP是服务器端脚本(https://en.wikipedia.org/wiki/Server-side_scripting),因此无法在客户端(https://en.wikipedia.org/wiki/Client-side_scripting)事件上实例化代码(例如失去焦点)。要检查是否已选中该复选框,在提交表单之前,您需要运行javascript / JQuery脚本。

例如,您可以使用AJAX和JQuery来触发事件。

$(function(){ 
    $('.checkbox').focusout(function(){ 
        $.ajax({ 
            ... 
        }); 
    }); 
}); 

然后你会让$.ajax();函数指向PHP脚本来执行你需要做的任何事情。

您可以在此处找到更多信息:

  1. $.ajax()http://api.jquery.com/jquery.ajax/
  2. focusout()https://api.jquery.com/focusout/

答案 1 :(得分:1)

您可以使用ajax轻松实现此目的。用户interact

时触发一个函数
<input type='checkbox' onblur='checkbox()' />

function checkbox(){
    var xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function() {
        if (xhttp.readyState == 4 && xhttp.status == 200) {
            console.log(xhttp.responseText);
        }
      };
      xhttp.open("GET", "checkbox.php", true);
      xhttp.send();
    }

使用onblur不会为您提供所需的结果,请尝试将其更改为不同的events,看看哪些符合您的需求

以下是HTML DOM EVENT

中所有活动的list