提交表单Onchange复选框

时间:2016-12-21 11:33:17

标签: javascript php jquery html

这是我的PHP代码:
我必须在选中或取消选中复选框时进行制作,然后立即将值更新到数据库中 我需要用PHP或Javascript来做这件事。

<?php
session_start();
include("head.php"); 
include("dbconnection.php");  // database connectie

if (isset($_SESSION['login']))
{
   echo "<h1>Contacten</h1>";
   echo "<h3>Welkom ".$_SESSION['login']."</h3><br/>";
   include("menu.php");
   $sql = "SELECT * FROM `customers` ORDER BY Created DESC ";  // selecteer uit tabel customers
   echo "<table class='overzicht'>
           <tr style='background-color: lightgray; min-height: 200px;' >
               <td colspan='9'>
                    <a href='#' id='module-tab-1' class='toggle' data-prod-cus='1'>
                       <h1 style='margin-bottom: 0px;'>Alle Contacten</h1>
                       <div class='left-image hi'></div>
                     </a>
               </td>
           </tr>
           <tr style='background-color: orange; display:none;' class='cus1' >
            <th>Allemaal</th>
            <th>Datum</th>
            <th>Naam</th>
            <th>Bedrijf</th>
            <th>Email:</th>
            <th>SMS</th>
            <th>Storing</th>
        </tr>";
foreach ($conn->query($sql) as $row) {
    echo "
        <tr class='cus1' style='display:none'>";
        if ($row['All'] == 1)
            {
                echo "<td>
                    <input type='checkbox' name='all' checked>
                </td>";
            }
            else
            {
                echo "<td>
                    <input type='checkbox' name='all'>
                </td>";
            }
            echo "
            <td>
                ".$row['Created']."  
            </td>
            <td>
                ".$row['Name']." 
            </td>
            <td>
                ".$row['Company']."
            </td>
            <td>
                ".$row['Email']."
            </td>
            <td>
                ".$row['SMS']."
            </td>
            <td>
                ".$row['StoringsID']."
            </td>";
    echo "</tr>";
}
echo '</table>';
}
else
{
   header("location:index.php");  // ga terug naar het inlogscherm
}
include("Javascripts.php");

有人能告诉我怎么做吗? 我不知道该怎么做。
我看到了一些例子,但它们对我来说并没有成功 我使用了Jquery,但我不知道如何更新数据库。

2 个答案:

答案 0 :(得分:1)

您可以使用ajax请求保存数据

 $.ajax({
    url: 'save.php',
    type: 'POST',
    data: 'id='+23,
    success: function(data, textStatus, jqXHR){
      $("#message-box").text("Successfully!");
    },
    error: function(jqXHR, textStatus, errorThrown){
      var errResponse = JSON.parse(jqXHR.responseText);
    },
  });

获取复选框事件

<input type='checkbox' name='all' class="mycheckbox" checked>

if($('.mycheckbox').prop('checked')) {
  // do something when checked
} else {
  // do something else when not
}

答案 1 :(得分:1)

最简单的方法是在变更时提交的简单表单: (将thispageurl.php替换为您的网址)

<form action="thispageurl.php" method="post">
  <input id="yourinputid" name="input">
 </form>

现在你可以添加以下js, 它在变更时提交表格:

window.onload=function(){
 console.log("load..."); changer=document.getElementById("yourinputid");
console.log(changer);
changer.onchange=function(){
  console.log("changed");
  //you could also use komals code here ( it does not reload the page)
  changer.parentNode.submit();
 };
 };

现在你需要php(在thispageurl.php或save.php,如果你使用komals代码)来捕捉这个:

<?php
if(isset($_POST["input"])){
 $newvalue=$_POST["input"];
//update your mysql
}
?>

小记: 而不是回应你可以简单地将HTML写入PHP。这更容易阅读:

<?php if($value==true){ ?>
Value is true
<?php } ?>