【发布时间】:2013-12-05 09:20:10
【问题描述】:
我的应用程序是一个留言板。当我单击 ans_button 时,会出现一个 div,其中包含问题的文本区域。当我提交问题时,消息 div 再次被隐藏。如果我单击 remove_button,该特定消息将从收件箱中删除,并且仍会显示剩余的消息。但是,只要我单击第二个 rmeove_button,消息 div 就会出现,此时它应该保持隐藏状态。最后,如果我刷新页面,我可以再次单击删除一次,但第二次会破坏代码。
我已将代码包含在我认为包含问题的代码中。但是,如果需要,我可以上传更多代码。任何关于我的代码在哪里被赶上的建议都将不胜感激。谢谢。
这是我的代码:
HTML:
<div class="content" id="messageView">
<!--This content is pulled from a php file-->
<!--.ans_button and .remove_button are echoed from php-->
</div><!--content#messageView-->
<div class="content" id="message">
Subject:<input id="subject" type="text"><br><br>
Question:<textarea id="question"></textarea><br><br>
<input class="submitbutton" id="cancelQ" type="button" value="Cancel" >
<input class="submitbutton" id="askQ" type="button" value="Respond" >
</div><!--content#message-->
php:
$findMsg = mysqli_query($con,"SELECT *
FROM MessageAdmin m, Admin a, User u
WHERE (SELECT deptID FROM Admin a WHERE a.deptID = m.programID)
AND (SELECT o.threadID FROM OpenMessages o WHERE o.threadID = m.threadID
AND o.isClosed = 0 AND (o.answeredBy = 0 OR o.answeredBy = '$curUser')
AND (u.userID = o.userID) AND (m.userID = o.userID)) ORDER BY m.timeSent");
if(mysqli_num_rows($findMsg) > 0){
echo "<table id='viewMsg'>";
while($row = mysqli_fetch_array($findMsg)){
echo "<tr>";
echo "<td>" .$row['firstName']." ".$row['lastName']."</td>";
echo "<td>" .$row['subject']."</td>";
echo "<td><button class='ans_button'
value='".$row['threadID'].'*'.$row['subject'].'*'.$row['programID']."'>Respond</button></td>";
echo "<td><button class='remove_button'
value='".$row['threadID'].'*'.$row['timeSent']."'>Delete</button></td>";
echo "</tr>";
}
echo "</table>";
}
else
echo "<h3>You currently have no messages</h3>";
jQuery:
$(function(){
$("#message").hide();
var request1 = $.ajax({ //fill content of #messageView
...
}).success(function(data){
$("#messageView").html(data);
});
$('.content').on('click', '.ans_button', function(){
var clicked = $(this);
var parts = clicked.val().split("*");
var thread = parts[0];
var subject = parts[1];
var program = parts[2];
$("#subject").val(subject);
$("#askQ").on('click', function(){
var question = $("#question").val();
var request2 = $.ajax({
...
}).success(function(data){
if(data == "success"){
$("#message").hide();
$("#question").val("");
}
});
});
});
$('.content').on('click', '.remove_button', function(){
var clicked = $(this);
var parts = clicked.val().split("*");
var thread = parts[0];
var time = parts[1];
var request3 = $.ajax({
...
}).success(function(data){
if(data == "success"){
$("#message").hide();
$("html").load("messages.php");
$("#messageView").show();
}
});
});
}); //end of document.ready
【问题讨论】:
标签: jquery html onclick show-hide