如何更改onclick功能按钮中的值

Posted

技术标签:

【中文标题】如何更改onclick功能按钮中的值【英文标题】:How to change a value in onclick function button 【发布时间】: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 【参考方案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);
       
     );
       );
     );

【讨论】:

以上是关于如何更改onclick功能按钮中的值的主要内容,如果未能解决你的问题,请参考以下文章

如何根据设备宽度更改下载按钮的href和onclick功能

使用 Javascript 更改现有的 onClick 函数

如何更改knockoutjs中的onClick按钮

使用 OnClick 事件更改场景

如何在反应js中更改按钮onClick的背景颜色?

如何使用 onclick 按钮更改悬停颜色