IE 10 とそれ以前のすべてのバージョンで 1 つの興味深い問題が発生しました。jQueryを
<div id="modal_window"></div>
使用してモーダルウィンドウに別のphpページをロードする. コードは次のようになります。
/* Open page in modal dialog */
var dlg=$('#modal_window').dialog({
title: 'Submit event report',
resizable: true,
autoOpen: false,
modal: true,
hide: 'fade',
width: 450,
height: 275,
open: function() {
jQuery('.ui-widget-overlay').bind('click', function() {
jQuery('#modal_window').dialog('close');
});
}
});
$('.edit').click(function(e) {
e.preventDefault();
var href = $(this).attr('href');
dlg.load(href, function() {
dlg.dialog('open');
});
});
したがって、基本的にクリックすると、ページからその div コンテンツをロードします。これは次のようになります。
echo "<td><a href='sbmevent.php?id=".$row['event_id']."' class='edit'>Edit</a></td>";
ここでは、異なる id をリンクに渡しています。問題は、IE で開いたときに一部のリンクにコンテンツを出力すると、3 つの異なる問題のいずれかが表示されることです。
- リンクに渡されたIDを何らかの方法で出力します
- すべてOK、私が期待したもの
- そして、理由がわからない空のファイルだけです
コードがすべてのウィンドウで同じであるという問題が何であるかわかりません.IDは問題ありません.FirefoxとChromeではすべてが完璧に機能しています..何かアイデアはありますか?PHP コードは単純です。
if (isset($_GET) && !empty($_GET['id'])) {
$event_id = $_GET['id'];
$q = mysql_query('SELECT * FROM `'.TABLE_PREFIX.'events` WHERE `event_id` = '.$event_id);
if ($q) {
$row = mysql_fetch_assoc($q);
?>
<form action="" method="post">
<table>
<tr>
<td><strong>Title</strong></td>
<td><?php echo $row['title']; ?></td>
</tr>
<tr>
<td><strong>Study Nr.</strong></td>
<td><?php echo "xxx"; ?></td>
</tr>
<tr>
<td><strong>Centre Nr.</strong></td>
<td><?php echo $row['centre']; ?></td>
</tr>
<tr>
<td><strong>Doctor</strong></td>
<td><?php echo $row['doctor']; ?></td>
</tr>
<tr>
<td><strong>Category</strong></td>
<td><?php echo "xxx"; ?></td>
</tr>
<tr>
<td><strong>Venue/Location</strong></td>
<td><?php echo $row['city_id']; ?></td>
</tr>
<tr>
<td><strong>Contact/Sponsor</strong></td>
<td><?php echo $row['sponsor']; ?></td>
</tr>
</table>
</form>
<?php
}
}