2016-10-19 7 views
0

私は非常に単純なチャットをコーディングしています。フォームに書き込んだテキストはチャットエリアに表示されません。実際には、それはchatareaから2番目と後に見られます。チャットエリアにメッセージを保存するにはどうしたらいいですか? (それはjsfiddleではなく、私のブラウザで正常に動作します)テキストが消えるのはなぜですか?

$(document).ready(function() { 
 
    $("#submitMsg").click(function() { 
 
    var userMessages = $("#userMsg").val(); // stored content in the text box 
 
    var prevMessage = $("#chatArea").html(); 
 
    $("#userMsg").val(""); // clear textbox 
 
    $("#chatArea").html(prevMessage + "<br>" + userMessages); 
 
    }); 
 
});
#wrapper { 
 
    padding-bottom: 25px; 
 
    background: #ACD8F0; 
 
    ; 
 
    width: 604px; 
 
    border: 1px solid #ACD8F0; 
 
} 
 
#chatArea { 
 
    width: 450px; 
 
    border: 1px solid black; 
 
    height: 450px; 
 
    margin: auto; 
 
    background: #fff; 
 
} 
 
#userMsg { 
 
    position: relative; 
 
    left: 75px; 
 
    margin-top: 5px; 
 
} 
 
#submitMsg { 
 
    position: relative; 
 
    left: 80px; 
 
    font-size: 24px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
<div id="wrapper"> 
 
    <div id="header"> 
 
    <p class="Welcome">Welcome</p> 
 
    </div> 
 
    <div id="chatArea"></div> 
 
    <form id="ChatInput"> 
 
    <textarea id="userMsg" name="message" type="text" placeholder="Enter your text here.." rows="3" cols="50"></textarea> 
 
    <input type="submit" name="Send" value="SEND" id="submitMsg"> 
 
    </form> 
 
</div>

+1

コードをフォーマットする方法を学びます。トラブルシューティング能力を飛躍的に向上させます。そのままでは、不当なインデントやスペースのためにコードを解析することは非常に困難です。 –

+1

また、ここでは動作しますがブラウザには表示されませんが、実際に送信しているフォームに問題があると思われます。開発者用コンソールに表示されるjavascriptエラーの可能性があります。 –

+0

"修正してください私の作業コード "...いいえ。問題を再現してください。あなたがコージドを分離するときに機能するならば、問題はどこか他の場所にあり、あなたの孤立したコードはトラブルシューティングの誰にも役に立たない。 –

答えて

2

問題は、あなたの送信ボタンです。アクションが指定されていないフォームは、現在のページのGET/POST要求にデフォルトでリロードされます。 'type = "submit"を<input type="submit" name="Send" value="SEND" id="submitMsg">から削除すると、それが機能するはずです。また、action="javascript:void(0);"をフォームタグに追加すると、問題が解決するはずです。

+0

が動作する必要はありません。ありがとうございます。 –

+0

問題ありません!ハッピーコーディング! – Mendy

0

多分これはおそらく?これがあなたが探しているものかどうかは不明ですが、イベントオブジェクトを使ってデフォルトのアクションを防ぐことができます。

$(document).ready(function() { 
    $("#submitMsg").click(function(e) { 
    e.preventDefault(); 
    var userMessages = $("#userMsg").val(); // stored content in the text box 
    var prevMessage = $("#chatArea").html(); 
    $("#userMsg").val(""); // clear textbox 
    $("#chatArea").html(prevMessage + "<br>" + userMessages); 
    }); 
}); 
関連する問題