Javascript 将复选框的值保存到数据库
嗨,我有一个复选框,然后我想用php保存这个复选框的值,但是这个值是用javascrip生成的。如何使用php保存该vaue 复选框:Javascript 将复选框的值保存到数据库,javascript,php,html,checkbox,Javascript,Php,Html,Checkbox,嗨,我有一个复选框,然后我想用php保存这个复选框的值,但是这个值是用javascrip生成的。如何使用php保存该vaue 复选框: <input type='checkbox' name='calibrate' onclick='OnChangeCheckbox(this), enable_text(this.checked)' id='myCheckbox' /> <input type="submit" value="UPDATE" id="gobutton" styl
<input type='checkbox' name='calibrate' onclick='OnChangeCheckbox(this), enable_text(this.checked)' id='myCheckbox' />
<input type="submit" value="UPDATE" id="gobutton" style="float: right; padding: 3px 15px 3px 15px; margin-right: 6px;" />
尝试在流程操作“在您的案例中不需要JAVASCRIPT而是使用PHP”中添加这一行删除JAVASCRIPT onclick
<?php $calibrate = isset($_POST['calibrate']) ? 'yes' : 'no' ; ?>
不需要使用java脚本,也可以通过php获得 作者:
如果仍然要使用JS,则可以使用.val()在输入中设置值,并可以通过post获得:
<?php echo $_post['checkbox_val']; ?>
<input type="hidden" id="checkbox_val" name="checkbox_val" >
<input type='checkbox' name='calibrate' onclick='OnChangeCheckbox(this), enable_text(this.checked)' id='myCheckbox' />
function OnChangeCheckbox (checkbox) {
if (checkbox.checked) {
document.getElementById("val").innerHTML = "yes";
document.getElementById("checkbox_val").val = "checked";
}else {
document.getElementById("val").innerHTML = "no";
document.getElementById("checkbox_val").val = "not_checked";
}
}
函数OnChangeCheckbox(复选框){
如果(复选框。选中){
document.getElementById(“val”).innerHTML=“是”;
document.getElementById(“checkbox_val”).val=“checked”;
}否则{
document.getElementById(“val”).innerHTML=“否”;
document.getElementById(“checkbox\u val”).val=“未选中”;
}
}
您需要将javascript中的值发送到php文件以进行保存。这可以使用ajax调用完成,如下所示:
function OnChangeCheckbox (checkbox) {
var checkvalue="";
if (checkbox.checked) {
checkvalue = document.getElementById("val").innerHTML = "yes";
}else {
checkvalue = document.getElementById("val").innerHTML = "no";
}
var xhr = new XMLHttpRequest();
var method="POST";
var url="url-of-your-php-file";
var data="checkvalue="+checkvalue;
xhr.open(method, url, true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send(data);
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && xhr.status == 200)
{
//debugger;
var response=xhr.responseText;
if(response.indexOf('Error') !=-1)
{
alert("Error!");
}
else
{
alert("Data successfully sent!");
}
}
}
在您的php文件中,您可以从这里获得作为$u POST['checkvalue']发送的数据,然后,您可以使用它保存在数据库中。什么是元素
#val
?当用户更改复选框时,您必须使用ajax将值发回。您必须将此代码放在javascript中,url变量具有要发布它的php文件的路径,它将输出“Data successfully sent!”在警报中,如果数据过账,则为“错误!”
function OnChangeCheckbox (checkbox) {
var checkvalue="";
if (checkbox.checked) {
checkvalue = document.getElementById("val").innerHTML = "yes";
}else {
checkvalue = document.getElementById("val").innerHTML = "no";
}
var xhr = new XMLHttpRequest();
var method="POST";
var url="url-of-your-php-file";
var data="checkvalue="+checkvalue;
xhr.open(method, url, true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send(data);
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && xhr.status == 200)
{
//debugger;
var response=xhr.responseText;
if(response.indexOf('Error') !=-1)
{
alert("Error!");
}
else
{
alert("Data successfully sent!");
}
}
}