0

我有一个无法解决的问题

我正在尝试通过 ajax 发送消息并在发送消息时更新 div

唯一的问题是,当我评论更新 div 字段 textarea 和按钮的内容时,它们就会消失

我还放了一个按钮来显示消息字段和按钮

这是我正在使用的代码

<script type="text/javascript">
function hide_menu(){
    if(document.getElementById('responder').style.display == "none"){

        document.getElementById('responder').style.display = "block";
        document.getElementById('button').style.display = "block"
        $('html, body').animate({scrollTop:$('#responder').position().top});        

    }else{
        document.getElementById('responder').style.display = "none"
        document.getElementById('button').style.display = "none"
        $('html, body').animate({scrollTop:$('#da-content-wrap').position().top});
    }
}
</script>


<script type="text/javascript" language="javascript">
$(function($) {
    // Quando o formulário for enviado, essa função é chamada
    $("#da-ex-validate1").submit(function() {
        // Colocamos os valores de cada campo em uma váriavel para facilitar a manipulação
        var mensagem = $("#cleditor").val();
        var user = $("#user").val();
        // Fazemos a requisão ajax com o arquivo envia.php e enviamos os valores de cada campo através do método POST
        $.post('<?= URL::getBase();?>form/insert/comment.php?id=<?=$_id;?>', {user: user, mensagem: mensagem }, function(resposta) {
                // Quando terminada a requisição
                // Exibe a div status
                $("#status").slideDown();
                // Se a resposta é um erro
                if (resposta != false) {
                    // Exibe o erro na div
                    alert('Ocoreu um erro !');
                } 
                // Se resposta for false, ou seja, não ocorreu nenhum erro
                else {
                    $("#mensagens").load('<?= URL::getBase();?>load.php?id=<?= $_id;?>');

                    // Limpando todos os campos
                    $("#cleditor").val('');
                }
        });
    });
});
</script>

这是HTML

<!-- Content Area -->
<div class="da-panel-content"> <a href="#" onclick="javascript:hide_menu()" id="hidden"><img src="buildings.png" alt=""  />Reply</a>
  <div id="mensagens">
    <?= comments::_build($_id);?>
  </div>
  <form id="da-ex-validate1" class="da-form" method="post" action="javascript:func()" >
    <div id="responder" style="display:none;">
      <textarea id="cleditor" name="mensagem" class="large required"></textarea>
      <input type="hidden" name="user" id="user" value="<? GetInfo::_id(NULL);?>"/>
    </div>
    <div class="da-button-row" id="button" style="display:none;">
      <input type="reset" value="<?= $_LANG[137];?>" class="da-button gray left" />
      <input type="submit" id="da-ex-growl-2" value="<?= $_LANG[219];?>" class="da-button red" />
    </div>
  </form>
</div>

其中“ <?= comments::_build($_id);?>”是记录列表。

我还做了一个页面load.php实际上调用了相同的功能。

http://i.stack.imgur.com/V46Nr.jpg

对不起任何错误的英语:-)

4

0 回答 0