Php 未捕获异常:jQuery UI选项卡:不匹配的片段标识符
全部。我已经构建了一个简单的jQuery/PHP聊天程序,它运行得相当好。但是,我想添加一个功能,如频道或房间。理想情况下,我希望使用聊天室顶部的选项卡来管理用户所在的房间(只有两个房间)。我认为这将是一个简单的任务,我以前也看到过类似的操作,但是当单击选项卡时,我一直会遇到未捕获的异常错误,并且源代码没有正确加载。我将发布整个聊天系统的代码,因为我感觉问题可能就在其中 jqueryPhp 未捕获异常:jQuery UI选项卡:不匹配的片段标识符,php,jquery,jquery-ui-tabs,Php,Jquery,Jquery Ui Tabs,全部。我已经构建了一个简单的jQuery/PHP聊天程序,它运行得相当好。但是,我想添加一个功能,如频道或房间。理想情况下,我希望使用聊天室顶部的选项卡来管理用户所在的房间(只有两个房间)。我认为这将是一个简单的任务,我以前也看到过类似的操作,但是当单击选项卡时,我一直会遇到未捕获的异常错误,并且源代码没有正确加载。我将发布整个聊天系统的代码,因为我感觉问题可能就在其中 jquery page = { getChat: function() { $.ajax({
page = {
getChat: function() {
$.ajax({
url: 'game_src.php',
data: 'mode=getChat',
dataType: 'html',
cache: false,
success: function(res){
$("#chatbox").html(res);
}
});
}
};
$("#submitmsg").click(function(){
var clientmsg = $("#usermsg").val();
$.ajax({
url : 'game_src.php',
data: 'mode=chatSubmit&msg=' + encodeURIComponent(clientmsg)
});
$("#usermsg").attr("value", "");
return false;
});
setInterval(page.getChat, 4000);
$("#chatChannel").tabs({
cookie: { expires: 1 },
});
聊天室
<?php
if($user->data['user_id'] == ANONYMOUS)
{
}
else
{
?>
<div id="chatChannel">
<ul>
<li><a href="#global">Global</a></li>
<li><a href="#alli">Alliance</a></li>
</ul>
</div>
<form name="message" action="">
<input name="usermsg" type="text" id="usermsg" size="25" />
<input name="submitmsg" type="submit" id="submitmsg" value="Send" />
</form>
<br />
<?php
}
?>
<div id="chatbox" style="border:1px solid black;background-color: rgba(255,255,255,0.3);height:400px;overflow:auto;">
<div id="global">
<?php
$chatMsgs = array();
$limit = time()-86400;
$sql = 'SELECT COUNT(chat_id) as count FROM '.CHAT_TABLE.' WHERE chat_channel = 0 AND chat_time > '.$limit;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$count = $row['count'];
if($count > 0)
{
$sql = 'SELECT * FROM '.CHAT_TABLE.' WHERE chat_channel = 0 AND chat_time > '.$limit.' ORDER BY chat_time DESC';
$result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result))
{
$chatMsgs[] = array(
'chat_time' => $row['chat_time'],
'chat_msg' => $row['chat_msg'],
'chat_user' => $row['chat_user'],
'chat_channel' => $row['chat_channel']
);
}
foreach($chatMsgs as $msg)
{
$sql = 'SELECT username FROM '.USERS_TABLE.' WHERE user_id = '.$msg['chat_user'];
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$username = $row['username'];
echo '<div class="chatMsg" style="border-bottom:1px solid black;">';
echo '<div class="chatUsr">'.$username.' says:</div>';
echo '<div class="chatUsrMsg" style="float:left;">'.$msg['chat_msg'].'</div>';
echo '<div class="chatMsgTime" style="float:right;">'.date("g:i a", $msg['chat_time']).'</div>';
echo '</div>';
echo '<br />';
echo '<hr />';
}
}
else
{
echo '<div class="chatMsg">Nothing is heard but the sound of crickets...</div>';
}
?>
</div>
<div id="alli">
<?php
$chatMsgs = array();
$limit = time()-86400;
$sql = 'SELECT COUNT(chat_id) as count FROM '.CHAT_TABLE.' WHERE chat_channel = 1 AND chat_time > '.$limit;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$count = $row['count'];
if($count > 0)
{
$sql = 'SELECT * FROM '.CHAT_TABLE.' WHERE chat_channel = 1 AND chat_time > '.$limit.' ORDER BY chat_time DESC';
$result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result))
{
$chatMsgs[] = array(
'chat_time' => $row['chat_time'],
'chat_msg' => $row['chat_msg'],
'chat_user' => $row['chat_user'],
'chat_channel' => $row['chat_channel']
);
}
foreach($chatMsgs as $msg)
{
$sql = 'SELECT username FROM '.USERS_TABLE.' WHERE user_id = '.$msg['chat_user'];
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$username = $row['username'];
echo '<div class="chatMsg" style="border-bottom:1px solid black;">';
echo '<div class="chatUsr">'.$username.' says:</div>';
echo '<div class="chatUsrMsg" style="float:left;">'.$msg['chat_msg'].'</div>';
echo '<div class="chatMsgTime" style="float:right;">'.date("g:i a", $msg['chat_time']).'</div>';
echo '</div>';
echo '<br />';
echo '<hr />';
}
}
else
{
echo '<div class="chatMsg">Nothing is heard but the sound of crickets...</div>';
}
?>
</div>
</div>
jQueryUITabs插件希望内容div
s与链接的ul
位于同一容器中
在您的情况下,它希望内容div
位于ul
下的div id=“chatChannel”
中,但它们不在那里。我在jquery移动应用程序中实现jquery UI选项卡时遇到了这个问题。
使用
jquery 1.7.2
jQueryUI1.8.2
jquerymobile1.1
问题在于jQueryUI和jQueryMobile版本之间的兼容性
在阅读evry bug report并在jQuery的库版本之间切换后,我发现解决方案降级到jQuery Mobile Legacy 1.0.1版本,该版本与jQuery UI tabs组件没有冲突
希望jQuery Mobile的开发人员在将来的版本中解决这个问题在我的代码中,div被正确地嵌套。问题还可能出在哪里?