我坚持如何在不使用JavaScript,jQuery等的PHP中启用和禁用按钮,我是PHP编程的新手请帮我找出这种情况。
这是我的代码:
<?php
if(isset($_POST['save']))
{
echo 'Hello robin';
}
if(isset($_POST['serach']))
{
echo 'Byeeee robin';
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="BootStrap/css/bootstrap.min.css">
<title></title>
</head>
<body>
<div class="container jumbotron">
<form action="" method="post">
<div class="btn-group-xs">
<button type="submit" id="btn1" name="save">Save</button>
<button type="submit" id="btn2" name="serach">Search</button>
</div>
</form>
</div>
</body>
</html>
答案 0 :(得分:0)
您可以在成功保存操作后禁用例如“保存”按钮,如下所示:
<?php
$isSaveDisabled = false;
if(isset($_POST['save']))
{
echo 'Hello robin';
$isSaveDisabled = true;
}
if(isset($_POST['serach']))
{
echo 'Byeeee robin';
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="BootStrap/css/bootstrap.min.css">
<title></title>
</head>
<body >
<div class="container jumbotron">
<form action="" method="post">
<div class="btn-group-xs">
<button type="submit" id="btn1" name="save" <?php if ($isSaveDisabled) { echo 'disabled="disabled"';}?>>Save</button>
<button type="submit" id="btn2" name="serach">Search</button>
</div>
</form>
</div>
</body>
</html>
由于PHP是无状态的,并且这种基本解决方案每次在用户交互之后都会引发整页翻译,您必须评估并构建整个应用程序的状态,并在每次请求后基于它呈现页面。 (在这个简单的例子中,它只表示您必须评估是否启用了“保存”按钮。)
即使你有一些前端逻辑,你总是必须在后端验证状态,因为它很容易克服仅限JS的限制。 但是,通常有两种方法可以获得更好的用户体验(如果通过AJAX保存,则会立即禁用“保存”按钮,用户无需等待整页重新加载)
正如先生们在评论中所建议的那样,尽可能地分离你的逻辑和代码是非常重要的。如果它只是用于实验,那就完全没问题了。但随着应用程序的增长,更难以了解指出发生了什么。因此,它可能导致越来越多的错误和难以维护的产品。
更新(有关按下“创建”按钮后禁用“保存”按钮的问题。)
这通常是一个用JavaScript实现的功能,因此我不建议将它用于生产用途。但是如果你想要纯PHP解决方案,你可以这样做:
<?php
$isSaveDisabled = false;
if(isset($_POST['save'])) {
echo 'Hello robin';
} else if (isset($_POST['create'])) {
$isSaveDisabled = true;
}
if(isset($_POST['serach'])) {
echo 'Byeeee robin';
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="BootStrap/css/bootstrap.min.css">
<title></title>
</head>
<body >
<div class="container jumbotron">
<form action="" method="post">
<div class="btn-group-xs">
<button type="submit" id="btn1" name="save" <?php if ($isSaveDisabled) { echo 'disabled="disabled"';}?>>Save</button>
<button type="submit" id="btn2" name="serach">Search</button>
<button type="submit" id="btn3" name="create">Create</button>
</div>
</form>
</div>
</body>
</html>