如何刷新/重新加载滑出面板(jquery)

时间:2014-06-05 16:14:53

标签: javascript jquery jquery-mobile mobile

我有这个滑出面板,其中有一个评论表,在用户提交评论表后,"谢谢你"将出现,问题是,在我关闭面板后,再次将其滑出以进行第二次评论,"谢谢你"还在那里!我希望看到一个新的未填写评论表。

如何显示新的原始评论表单,而不是上一次会话的剩余部分?

代码:

<!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>                

1 个答案:

答案 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();

    });
 });