首页 > 解决方案 > 如何更改 onclick 功能按钮中的值

问题描述

我想通过单击一个按钮将我的数据库中用户的状态从非活动更改为活动。

我已经有一个函数,它通过为它们分配一个值来显示数据库上的使用是活动的还是非活动的,例如,0 表示非活动,1 表示活动。

下面是在用户处于非活动状态或活动状态时更改按钮上的值的功能


 if ( $row["active"] == 1 ) {
echo '<button class="btn-u btn-u-green" type="button">Active</button>';
  } else {
 echo '<button class="btn-u btn-u-red" type="button">Inactive</button>';
  }

现在我需要创建一个处理活动和非活动按钮的函数。就像当管理员单击非活动(按钮)时,它会将数据库中的值更新为 1(活动),如果管理员再次单击活动按钮,它将值更新为 0(非活动),

以下是我到目前为止所做的

按钮表如下

<td>                                                                                        
<?php                                                                                                                                                 
  if ( $row["active"] == 1 ) {
echo '<button onclick="button" name="active" class="btn-u btn-green" type="button">Active</button>';
} else {
echo '<button name="inactive" class="btn-u btn-u-red" type="button">Inactive</button>';
 }
?></td>

数据库设置

<?php

$hostname = "localhost";
$username = "root";
$password = "";
$databasename = "testone";

try
{

$conn = new PDO ("mysql:host=$hostname;dbname=$databasename",$username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    if(isset($_POST["active"]))
}
    $query = "INSERT INTO users(active) VALUE (:1)";
    $statement = $conn->prepare($query);
    $statement->execute(
        array(
            'users' => $_POST['active']
        )
    );
    $count = $statement->rowCount();
    if($count > 0)
    {
        echo "data insert successfully";
    }
    else
    {
        echo "data insertion failed";
    }
}
}
catch(PODExeption $error)
{

    echo $error->GetMessage(); 
}

?>

我使用的功能

<script
src="https://code.jquery.com/jquery-3.4.1.js"integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="crossorigin="anonymous">
</script>
  <script>

 $(document).raedy(function(){
   $('button[type="button"]').click(function(){
 var active = $(this).val();

  $.ajax({
    url:"activateagent.php",
    method:"POST",
   data:{users:active},
 success: function(data){
 $('$result').html(data);
       }
     });
       });
     });

 </script>

在我的控制台中,我收到此错误 ReferenceError: button is not defined

谢谢

标签: phpmysqlajax

解决方案


代码中有很多错误,请进行以下更改:

<td>                                                                                        
<?php                                                                                                                                                 
  if ( $row["active"] == 1 ) {
echo '<button class="btn-u btn-green btn_send" id="<?php echo $row["active"];?>">Active</button>';
} else {
echo '<button class="btn-u btn-u-red btn_send" id="<?php echo $row["active"];?>">Inactive</button>';
 }
?></td>

现在在 JQuery 代码中进行以下更改:

 $(document).ready(function(){
   $('.btn_send').on('click',function(){
 var active = $(this).attr('id');

  $.ajax({
    url:"activateagent.php",
    method:"POST",
   data:{users:active},
 success: function(data){
 $('$result').html(data);
       }
     });
       });
     });

推荐阅读