1

每当返回“data.res”结果变量包含成功消息时,我都有一个小问题要显示按钮选择器“#view_btn”。

脚本有效,但成功时“#view_btn”选择器根本不会显示。

如果我在 if 语句中将“data.res”替换为“data”,那么即使它应该隐藏,该按钮也会始终显示。

我在做什么错了?有人可以帮忙吗?谢谢。

// This is the PHP script: hello.php
 <?php

    // some code goes here:

    if(isset($error)) 
    {
         echo json_encode(array("res"=>'error',"msg"=>$error));
    }
    else if (isset($success))
    {
         echo json_encode(array("res"=>'success',"msg"=>$success));
    }
    else 
    {
         echo json_encode(array("res"=>'message',"msg"=>$message));
    }

?>

这是 index.php HTML 标头中的 JQuery。

</script>

   $(function() {
       $("#submit_btn").click(function() {
       var pid  = $('#prod').attr("dir");
       var base_url = "<?php echo $base_URL; ?>/my_ajax/"+ pid +"/hello.php";
       $('#loading').show('fast');
       $.ajax({
          type: "POST",
          url: base_url,
          data: $("#pdForm").serialize(), // serializes the form's elements.
          cache: false,
          dataType:"json"
       }).done(function( data ) {
       $('#loading').hide('fast');
          if(data.res == 'success' ){
              $('#view_btn').show(); // show the button
              alert(data.msg); // show response from the php script.
          }else if (data.res == 'error') {
              $('#view_btn').hide();    // hide the button
              alert(data.msg); // show response from the php script.
          }else if (data.res == 'message') {
              $('#view_btn').hide();    // hide the button
              alert(data.msg); // show response from the php script.
          }else {
              $('#view_btn').hide();    // hide the button
              alert('Query data failed or invalid!'); // show response.
          }
       }, "json");
       return false; // avoid to execute the actual submit of the form.
      });
   });

</script>
4

0 回答 0