我有这个滑出面板,其中有一个评论表,在用户提交评论表后,"谢谢你"将出现,问题是,在我关闭面板后,再次将其滑出以进行第二次评论,"谢谢你"还在那里!我希望看到一个新的未填写评论表。
如何显示新的原始评论表单,而不是上一次会话的剩余部分?
代码:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css">
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.post("comment.pl", {
comment:$("#comment").val(),
},
function(data,status){
document.getElementById('div2').innerHTML = "THANK YOU";
});
});
});
</script>
</head>
<body>
<div data-role="page" id="pageone">
<div data-role="main" class="ui-content">
<p>Click on the link to see the slide effect.</p>
<a href="#pagetwo" data-transition="slide">Slide to Dialog Page</a>
</div>
</div> <!-- pageone -->
<div data-role="popup" data-dialog="true" id="pagetwo" >
<div data-role="main" class="ui-content">
<div id="div2">
<b>Enter Comment</b>
<br>
<textarea name="comment" id="comment" data-role="none" rows=5 cols=30 onkeypress="if(event.keyCode==13){return false;}" onKeyDown="limitText2(this,100);" onKeyUp="limitText2(this,100);" style="resize:none;"></textarea>
<br>
<button data-inline="true"><font size=+2 color=#333333>Enter</font></button>
<a href="#pageone" data-ajax="false">Go to Page One</a>
</div> <!-- div2 -->
</div> <!-- ui-content -->
</div> <!-- pagetwo -->
</body>
</html>
答案 0 :(得分:0)
不是更改div2
的内容,而是.append
或.show
元素会更好。如果我们在运行时重新创建div2的内容,我们需要在这个新代码上重新应用所有JS,以便刷新它并使其能够正确地发布数据。
因此,创建一个单击按钮时出现的#success
div:
...
function(data,status){
$('#success').show();
});
...
当页面转换动画完成时会运行一个事件:
$( document ).bind( "mobileinit", function() {
$('div[data-role="main"]').live('pagehide',function(event, ui){
//the 'pageHide' happens when the main is hidden
$('#success').hide();
});
});