首页 > 解决方案 > 是否可以在脚本内的 php echo 中显示和隐藏按钮?

问题描述

我的问题是当数据值更改为 时,我无法显示或隐藏按钮Delivered

这是我的php代码

<?php 
    $cardstatus = $row['cardStatus'];
    if($cardstatus == NULL){
       echo '<span class="badge badge-pill badge-warning">Card Pending</span>';
    } elseif($cardstatus == 'Delivered') {
       echo '<span class="badge badge-pill badge-success">Delivered</span>';
     //Display Done Button
       echo '<script>document.getElementById("done").style.display = "block";</script>';
    //Undisplay Close Button
       echo '<script>document.getElementById("cancel").style.display = "none";</script>';

     } else {
       echo '<span class="badge badge-pill badge-info">In Process</span>';
   }


?>

下面是我的按钮

//Button Cancel
    <button class="btn btn-warning btn-sm cancel" data-id="<?php echo $row['id'] ?>" data-user="<?php echo $row['user'] ?>" id="cancel">Cancel</button>

//Button Done
    <button class="btn btn-success btn-sm done" style="display: none;" id="done">Done</button>

我的阿贾克斯

    action: function () {
                        $.ajax({
                            type: "POST",
                            url: "accept.php",
                            data: {
                                addInfo: addInfo,
                                passInfo: passInfo,
                                id:id
                            },
                            dataType: "text",
                            success: function (data) {
                                // window.location.replace("purchased-top-up-cards.php");
                                $('#done').show(); //This will show but will be gone after refresh
                                $('#close').hide(); //This will hide but will show after refresh

                            },
                            error: function (err) {
                                console.log(err);

                            }                       
                        });
                    }

标签: javascriptphpajax

解决方案


资料太少。我希望您有一个可以执行以下操作的 php:

<?php 
  $cardstatus = $row['cardStatus'];
  if($cardstatus == NULL){
     echo '{ "type":"warning" , "text":"Card Pending" }';
  } elseif($cardstatus == 'Delivered') {
     echo '{ "type":"success" , "text":"Delivered" }';
   } else {
   echo '{ "type":"info" , "text":"In Process" }';
  }
?>

并在客户端

$(function() {
  $("#someForm").on("submit",function(e) {
    e.preventDefault(); // cancel form
    $.post("accept.php",{ "addInfo": addInfo, "passInfo":"passInfo","id":id },function(res) {
      $("#someContainer").append('<span class="badge badge-pill badge-'+res.status+'>'+res.text+'</span>');
      $("#done").toggle(res.status=="success");
      $("#cancel").toggle(res.status!="success");
    });
  });
});

推荐阅读