0

解決できなかった問題がある

メッセージを ajax 経由で送信し、メッセージの送信時に div を更新しようとしています

唯一の問題は、div フィールドのテキストエリアを更新する何かにコメントすると、ボタンが消えてしまうことです。

メッセージ欄とボタンを表示するボタンもつけました

これが私が使用しているコードです

<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