php - 如何更改 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
谢谢
解决方案
代码中有很多错误,请进行以下更改:
<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);
}
});
});
});
推荐阅读
- javascript - 如何使用 d3.js 从数据中向我的散点图添加标签
- c# - iText7 PDF 正确呈现但在 Adobe Reader 中打印不正确
- visual-studio-code - 如何使用我的 MS 帐户在 VS Code 中同步设置?
- javascript - JavaScript 表单验证后如何正确重定向页面?
- javascript - Echo Show 10 上的 Alexa HTML Web API“Alexa.create not a function”错误
- xml - 如何在 XSD 中为复合模式建模
- azure-functions - Azure Functions IsPastDue - 何时设置为 true?
- c++ - 将向量大小调整为大于 2^31 后的 std::length_error
- mongodb - mongodb在一个字符串中查找多个单词
- discord.py - 如何让您的不和谐机器人在激活之前“记住”消息?