2015-05-12 40 views
0

在我的JavaScript文件中,我創建了2個事件; 鍵入並單擊;keydown事件刪除我的div內容

當您單擊按鈕或按Enter時,輸入字段中寫入的文本顯示在div文本區域中;此代碼適用於按鈕單擊事件,但在按鍵事件中無法正常工作。

HTML代碼:

<div id="chatarea"> 
    <div id="jqarea"> 
    <div class="chatboxcontent"></div>      
    </div> 
</div> 
<div class="chatbox">     
    <input type="hidden" name="cfrom" id="cfrom" value="<?php echo $cuser; ?>" ></input> 
    <p><input type="text" name="digit" id="digit" size="50"/></p>    
    <p><button class="btn" title="send" type="button">      
    <span>Send</span> 
     </button> 
    </p>          
</div>   

Javascript代碼

$("#digit").keydown(function(event){ 
     if (event.which == 13) {     
      filltxtarea($("#digit").val());   
     } 
}); 

$(".btn").click(function(){  
    filltxtarea($("#digit").val());    
}); 

function filltxtarea(desctext) {  
    var uchat = $("#cfrom").val();  
    //$(".chatboxcontent").append('<div class=chatboxmessage><span class="chatboxmessagefrom">' + uchat + ': </span><span class="chatboxmessagecontent">' + desctext + '</span></div>');   
    $('#digit').val(''); 
    $('#digit').focus();   
    $.post('chat.php','action=newrow&message='+desctext,function(data){ 
     if (data==='failed'){alert("error in mysqli")}; 
    });  
} 
}); 
function chatHeartbeat(){    
$.ajax({   
url: 'chat.php?action=chatheartbeat',  
dataType: 'json', 
cache: false, 
success: function(data) {      
    alert("0"); 
    $.each(data.items, function(i,item){    
     if(item){  
      alert("1"); 
      $(".chatboxcontent").append('<div class=chatboxmessage><span class="chatboxmessagefrom">'+item.f+': </span><span class="chatboxmessagecontent">'+item.m+'</span></div>'); 
     } 
    });     
} 
}); 
setTimeout('chatHeartbeat();',1000); 
} 

當我使用click什麼工作,我可以看到警報(1)和警報(2),但鍵下它創建在數據庫新行,但我只有警報(0)....這怎麼可能?任何想法????

+1

''是自閉=>'' – Mark

+0

您的權利.. ..謝謝 – Fabio

回答

1

你有沒有嘗試阻止默認情況下,有時與回車鍵,你可以有不必要的行爲:

$("#digit").keydown(function(event) { 
    if (event.which == 13) { 
     event.preventDefault(); 
     filltxtarea($("#digit").val()); 
    } 
}); 
+1

哦,我的上帝....你救了我的生命...現在的作品!完美...謝謝你! – Fabio