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