ユーザーが特定の大学機関の講師であるオンライン システムを構築しています。システムの主な機能の 1 つは、ユーザーがインターネット経由で自分のスケジュールを表示できるようにすることです。
私は現在、ユーザーがスケジュールを表示するページを作成しています。値が変更されたときに jquery 関数 (ajax 要求を実行する) をトリガーする選択オプションを作成しています。要求されたページは、現在のページの div に表示されます。
問題は、選択オプションの値を変更しようとすると、ページ全体の上に大きな白い空白が表示されることがあります。毎回ではなくたまにしか発生しないため、何がバグを引き起こすのかわかりません。ページをリロードすると、空白が消えます。
私はどこでも答えを探していましたが、私の問題に合った答えが得られませんでした。
これは空白が表示される前のページです https://lh6.googleusercontent.com/-rb0XXjcpn6w/UPiwjIY92OI/AAAAAAAAABo/BmiDIbZWcxU/s640/before.jpg
空白が表示された時のページです https://lh3.googleusercontent.com/-RZxh2P3Bk0o/UPiwRv5oHHI/AAAAAAAAABc/VIB6LYvPBE4/s640/after.jpg
皆さんが私を助けてくれることを願っています...
これはページのコードです..
<?php
require_once("../includes/initialize.php");
$adminEmps = employee::find_by_cond("(department = 'ACADEMIC-TEACHING' or department = 'ACADEMIC-NON TEACHING') and emp_status='active' order by lastname asc");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Schedule</title>
</head>
<script type="text/javascript">
function selectEmp(){
$('#here').html("<img src=../Images/gif/loading14.gif' class='three columns centered'>");
$.post('viewSched.php','id='+$('#selector').val()+'&yr='+$('#yrselect').val(),
function (response){
$('#here').html(response);
});
}
</script>
<body>
<?php include("AdminDropdown.php"); ?>
<div class="row">
<div class="twelve columns">
<div class="row panel">
<h2><img src="../Images/Shedule.png" height="100px" width="100px" style="vertical-align:middle"/>
Schedule
</h2>
<dl class="tabs pill">
<dd class="active"><a href="#simple1">Academic</a></dd>
<dd><a href="#simple2">Administrative</a></dd>
<dd class="hide-for-small"><a href="#simple3">OSAS</a></dd>
</dl>
</div>
<ul class="tabs-content">
<li class="active" id="simple1Tab">
<div class="two columns">
Select Employee
</div>
<div class="three columns end">
<select id='selector' onchange="selectEmp()" >
<option>--Select--</option>
<?php
foreach ($adminEmps as $key => $value) {
echo "<option value={$value['emp_ID']}>{$value['lastName']}, {$value['firstName']} {$value['lastName']}</option>";
}
?>
</select>
</div>
<div class='two columns'>
</div>
<div class='two columns' style='text-align:right;'>
Select Year
</div>
<div class='three columns end'>
<select id='yrselect' onchange="selectEmp()">
<option>-- Select --</option>
<?php
for ($i=2008; $i <= date('Y'); $i++) {
$yr = $i + 1;
echo "<option>{$i}-{$yr}</option>";
}
?>
</select>
</div>
<br>
<br>
<div class="twelve columns ">
<div class="nine columns centered">
<div id='here'>
</div>
</div>
</div>
</li>
<li id="simple2Tab"></li>
<li id="simple3Tab">This is simple tab 3s content.</li>
</ul>
</div>
</div>
<?php include("adminfooter.php"); ?>
</body>
</html>
これはリクエストされたページのコードです。
<?php
require_once('../includes/initialize.php');
$id = $_POST['id'];
$yr = $_POST['yr'];
$info = sched::find_scheds_by_id_yr($id,$yr);
$display = "<table>
<thead>
<tr>
<th>Day</th>
<th>Time Start</th>
<th>Time End</th>
<th>Room</th>
<th>Subject</th>
</tr>
</thead>
<tbody>
";
if($info){
foreach ($info as $key2 => $value2) {
$display .= "<tr>
<td>".$value2['day']."</td>
<td> ".$value2['time_start']."</td>
<td>{$value2['time_end']}</td>
<td>{$value2['room']}</td>
<td>{$value2['Subject_description']}</td>
</tr>";
}
}
$display.="</tbody>
</table>";
?>
<html>
<head><title></title></head>
<body>
<?php echo $display; ?>
</body>
</html>
ちなみに、これはGoogle Chromeでのみ発生します。