嗨我有复选框然后我想使用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" style="float: right; padding: 3px 15px 3px 15px; margin-right: 6px;" />
使用Javascript:
function OnChangeCheckbox (checkbox) {
if (checkbox.checked) {
document.getElementById("val").innerHTML = "yes";
}else {
document.getElementById("val").innerHTML = "no";
}
}
答案 0 :(得分:1)
尝试在您的流程操作中添加此行&#34;在您的案例中不需要JAVASCRIPT使用PHP INSTEAD&#34;删除javascript onclick
<?php $calibrate = isset($_POST['calibrate']) ? 'yes' : 'no' ; ?>
答案 1 :(得分:1)
您需要将值从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文件中,您可以将此处发送的数据作为$ _POST [&#39; checkvalue&#39;],然后您可以使用它保存在数据库中。
答案 2 :(得分:0)
唐&#39;需要使用java脚本,你也可以通过PHP获取它
通过:<?php echo isset($_POST[calibrate]) ? "checked" : "not checked"; ?>
如果仍然想要使用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";
}
}