2016-03-25 3 views
1

私はユーザと会話するコンピュータのモデリングに取り組んでいます。コンソールは画面にメッセージを印刷し、ほとんど問題なくリロードすることができます。しかし、私は現在、コンピュータ画面上にあるものを「クリア」するようにボタンを設定しています。このボタンを押すと、ページがリロードされるまで他の機能は動作しません。textareaをクリアすると他のJS関数が破られる

私のwork so far。 'pwr'または 'send'のいずれかを数回押して問題を再現します。両方のボタンは、一度押すとメッセージを画面に表示します。 「クリア」を押すと、画面は消えてしまいますが、どちらのボタンも画面にメッセージを表示しません。 .val( '')はどういうわけかこのフィールドを編集不可能にしますか?

# app/assets/javascripts/app.computress.coffee 

App.Computress = 
    clear: -> 
     $("#hm_disp_txt").val('') 
    greet: -> 
     App.Computress.prints("Welcome!") 
    prints: (str) -> 
     $("#hm_disp_txt").append(str + "\n") 

$(document).on "click", "[data-behavior~=computress-listen]", => 
    App.Computress.prints("ping received") 

$(document).on "click", "[data-behavior~=computress-listen-clear]", => 
    App.Computress.clear() 

$(document).on "click", "[data-behavior~=computress-power]", => 
    App.Computress.greet() 

$(document).on "click", "[data-behavior~=computress-reload]", => 
    location.reload() 


# home.html/erb 
<div id="computress"> 
<div id="home_console"> 
    <textarea id="hm_disp_txt" readonly>Zzzzzz....</textarea> 
</div> 
    <div id="home_input"> 
    <div id="hm_inp_txt">></div> 
    <input type="text" id="user_inp" placeholder="...say &quot;hello&quot;?"> 
    <%= link_to "send", "#", data: {behavior: "computress-listen"}, id: "talkbutton", class: "comptrss_mono_txt" %> 
    <%= link_to "C", "#", data: {behavior: "computress-listen-clear"}, id: "clearbutton", class: "comptrss_mono_txt" %> 
    <%= link_to "pwr", "#", data: {behavior: "computress-power"}, id: "pwrbutton", class: "comptrss_mono_txt" %> 
    <%= link_to "reload", "#", data: {behavior: "computress-reload"}, id: "rldbutton", class: "comptrss_mono_txt" %> 
    </div> 
</div> 

答えて

1

私が使用してみてください...あなたは.append()を混合し、.val()しているからだと信じている:

$("#hm_disp_txt").val($("#hm_disp_txt").val() + "\n" + str); 

の代わり:

$("#hm_disp_txt").append(str + "\n"); 

prints()の方法

+0

その通りです。 http://stackoverflow.com/questions/4722914/jquery-append-not-appending-to-textarea-after-text-editedの可能な複製です。 – migg

関連する問題