【问题标题】:How to change a value in onclick function button如何更改onclick功能按钮中的值
【发布时间】:2020-03-04 00:37:38
【问题描述】:

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

我已经有一个函数,它通过为它们分配一个值来显示数据库上的使用是活动的还是非活动的,例如,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

谢谢

【问题讨论】:

  • 你到现在都试过什么,能不能给我看看?
  • bad link @AmanjotKaur 该链接中有 SQL 注入,它使用旧的遗留 mysql_* 函数,简而言之,它几乎是 "trash"..
  • @PrabhjotSinghKainth 这就是为什么我在这里告诉我如何安排代码
  • @RaymondNijland 什么链接
  • “RaymondNijland 什么链接” 在我发表我的评论后,他删除了该评论,它接缝@FnepShevoo

标签: php mysql ajax


【解决方案1】:

代码有这么多错误,做如下修改:

<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);
       }
     });
       });
     });

【讨论】:

    猜你喜欢
    • 2016-11-08
    • 2021-02-14
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    相关资源
    最近更新 更多