我有一个简短的程序。当我按下提交按钮时,该按钮应该变为绿色。这按预期工作。但是,当我按下提交按钮时,整个页面会重新加载并发出警报,我只打算在页面最初加载时执行此操作,而不是每次按下提交按钮时。每次按下提交按钮,我唯一想要的是让按钮变为绿色。当我按下提交按钮时,有没有办法防止第一行php执行?非常感谢。
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="styles/normalize.css">
<style type="text/css">
.sub
{
background-color: #1f5a7c;
border: none;
font-weight: bold;
cursor: pointer;
}
</style>
</head>
<body>
<form method="POST" >
<input type="submit" name="TestButton" id="TestButton" value="Test Button" class="sub">
</form>
</body>
</html>
<?php
echo "<script type='text/javascript'>alert('Start')</script>";
if(isset($_POST["TestButton"]))
{
echo "<script type='text/javascript'>TestButton.style.background='green';</script>";
}
?>
答案 0 :(得分:1)
php
每次都会运行..您可以使用else
来阻止此操作.. IE
<?php
if(isset($_POST["TestButton"]))
{
echo "<script type='text/javascript'>TestButton.style.background='green';</script>";
}else{
echo "<script type='text/javascript'>alert('Start')</script>";
}
?>
答案 1 :(得分:0)
试试这个:
<?php
if(!isset($_POST['TestButton'])) {
echo "<script type='text/javascript'>alert('Start')</script>";
}
<?php>
答案 2 :(得分:0)
您可以使用PHP conditional statements跳过部分代码。 您可以在if ... else语句中包装表单的状态。
<?php
if(isset($_POST["TestButton"])) {
?>
<form method="POST" >
<!-- Here you can change it as you want to -->
<input type="submit" name="TestButton" id="TestButton" value="Test Button" class="sub green someother_class">
</form>
<?php
else {
?>
<form method="POST" >
<input type="submit" name="TestButton" id="TestButton" value="Test Button" class="sub">
</form>
<?php
}
?>
或者你可以通过添加一个变量并相应地改变它的值来缩短它 -
<?php
if(isset($_POST["TestButton"])) {
$classes = "sub green some_other_class";
else {
$classes = "sub";
}
?>
<form method="POST" >
<!-- Here you can change it as you want to -->
<input type="submit" name="TestButton" id="TestButton" value="Test Button" class="<?php echo $classes; ?>">
</form>