将复选框的值保存到数据库

时间:2014-09-06 08:53:14

标签: 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" 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";                                                
        }
}

3 个答案:

答案 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";                                              
        }
}