0

データベースの更新後、リダイレクトから jquery ウィンドウを開くことができません。ページがリダイレクトされると、値を取得してその値に基づいてウィンドウを開くことができるようにコーディングしました。以下の例。

header("Location: http://localhost/sample/users/cp.php?dialog=1");
exit();

cp.php には、ウィンドウをトリガーしない次のコードがあります。ただし、autoOpen:true を変更すると、ページの読み込み時にウィンドウが読み込まれます。誰かが私の間違いを指摘してくれたら幸いです。ありがとう

cp.php

<?php
$dialog = $_GET['dialog'];
if ($dialog ==1)
        {
           echo '<script type="text/javascript"> dialog(); </script>';
        }

?>
<script src="js/jquery-1.3.2.min.js"></script>
<script src="js/ui.dialog.js" type="text/javascript"></script>
<link href="css/redmond/jquery-ui-1.7.3.custom.css" rel="stylesheet" type="text/css" media="all" />

<script type="text/javascript">
  function dialog() {
    $(function() {
        $( "#response1" ).dialog({
            modal: true,
            autoOpen: false,
            buttons: {
                Ok: function() {
                    $( this ).dialog( "close" );
                }
            }
        });


    });
  }
    </script>


 <div style="display:none" id="response1" title="Successfully updated destroy date">
    <p>
        <span class="ui-icon ui-icon-circle-check" style="float: left; margin: 0 7px 50px 0;"></span>
        You have successfully updated your destroy date. You may now close this window. Thank you.
    </p>

</div>
4

1 に答える 1

1

Firstly, you should upgrade JQuery and JQueryUI version.

Here is a suggestion :

<script type="text/javascript">
$(function() {
    if(<?php echo ($dialog == 1) ? 'true' : 'false' ; ?>)
    {
        $( "#response1" ).dialog({
            modal: true,
            autoOpen: true,
            buttons: {
                Ok: function() {
                    $( this ).dialog( "close" );
                }
            }
        });
    }
});
</script>

This fiddle explain how to use your code : http://jsfiddle.net/2bxYW/

于 2012-10-21T11:46:22.903 に答える