如何在表单输入提交时重新加载网页时跳过部分php?

时间:2018-06-06 19:39:50

标签: php html

我有一个简短的程序。当我按下提交按钮时,该按钮应该变为绿色。这按预期工作。但是,当我按下提交按钮时,整个页面会重新加载并发出警报,我只打算在页面最初加载时执行此操作,而不是每次按下提交按钮时。每次按下提交按钮,我唯一想要的是让按钮变为绿色。当我按下提交按钮时,有没有办法防止第一行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>";    
    }
?>

3 个答案:

答案 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>