使い方
displayRecord.php
JQueryダイアログボックス内にロードされるというページがあります。ダイアログボックスは内部に作成されますeditTicket.php
基本的に、displayRecord.php を使用すると、ユーザーはユーザー名と参照 ID を追加でき、AJAX を介し
$.post
て DB を更新し、それぞれのテーブルのレコード数を取得します。カウンターの取得ステップは、ページの読み込み時に発生することも意図されているため、ユーザーがユーザー名とパスワードを追加したときだけでなく、ページが初めて読み込まれたときにも表示されます。
うまくいかないこと
上記のステップ 3 は、displayRecord.php ページが JQuery ダイアログ内にある場合 (または少なくともそれが私が発見したこと) に失敗します。URL にアクセスすると、ロード時にカウンターが表示されます。ステップ 2 は、ダイアログ内で引き続き機能します。
editTicket.php からの JQuery ダイアログ ボックスの呼び出し:
<script type="text/javascript">
var dlg = '';
$(document).ready(function() {
dlg=$('#ticketDetails').dialog({
title: 'TICKET DETAILS',
resizable: false,
autoOpen:false,
modal: true,
show:'fade',
hide: 'fade',
buttons:{ "Close": function() { dlg.dialog("close"); } },
close: function(e, i) { dlg.hide(); },
width: 1300
});
$('a.view').click(
function(e)
{
dlg.load('displayRecord.php?id='+this.id, function(){
dlg.dialog('open');
});
});
});
displayRecord.php でロード時に showCount 関数を呼び出す:
<?php if (@$data['escalate'] == "No"){ ?>
<body onLoad="showCount()">
<?php } else{ ?>
<body>
<?php } ?>
showCount 関数:
function showCount(){
var ticket_id = <?php echo $data['id']; ?>
$.post('escalationCount.php',{post_ticket_id:ticket_id},
function(data) {
$('#escalationCount').html(data);
});
}
ページ読み込み関数が JQuery ダイアログ ボックス内で起動していないように見える前の状態として。
この時点で、問題の原因を特定するのに苦労しています。助けてください、ありがとう。