2014-09-06 2 views
-2

Привет, у меня есть флажок, тогда я хочу сохранить значение этого флажка, используя php, но значение генерируется с помощью javascrip. Как сохранить этот vaue с помощью php?сохранить значение checkbox to database

Checkbox:

<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";             
     } 
} 
+1

Что такое элемент '# val'? – hjpotter92

+0

Вам нужно будет использовать ajax для отправки значения обратно, когда пользователь меняет этот флажок. – adeneo

ответ

1

Try и добавьте эту строку в действие процесса "DONOT НУЖНО JAVASCRIPT В ВАШЕМ СЛУЧАЕ ИСПОЛЬЗОВАНИЯ PHP ВМЕСТО" удалить Javascript OnClick

<?php $calibrate = isset($_POST['calibrate']) ? 'yes' : 'no' ; ?> 
0

Не нужно использовать скрипт java для этого, вы также можете получить его по php Автор: <?php echo isset($_POST[calibrate]) ? "checked" : "not checked"; ?>

Если все же вы хотите использовать JS, то вы можете установить значение на входе с помощью .val() и может получить его по почте:

<?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";            
     } 
} 
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 [ «checkvalue»], то вы можете использовать его сохранить в базе данных.

+0

где я должен положить этот код? – KENN

+0

или как это работает? Я пытаюсь это сделать, но ничего не делает? – KENN

+0

вы должны поместить этот код в свой javascript с переменной url, имеющей путь к вашему файлу php, где вы хотите опубликовать его, он выведет «Данные успешно отправлены!». в предупреждении, если данные отправляются в противном случае «Ошибка!». – shine