我有一个网站,上面有一个带有复选框的表格。在PHP中,我想知道是否有一个checked属性在复选框上丢失焦点时有效,而不是在我们单击提交按钮时。我试过了
if (isset($_POST['check1'])) {
// Checkbox is selected
} else {
// Alternate code
}
但它仅在单击提交按钮时有效。还有其他办法吗?
答案 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脚本来执行你需要做的任何事情。
您可以在此处找到更多信息:
$.ajax()
:http://api.jquery.com/jquery.ajax/ 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