2012-07-28 52 views
0

好,數據被前重新發送

的JavaScript的代碼第一次啓動:

function keyevent(e) // submit key 
{ 
    if (e.keyCode == 13) // 13 = enter key 
    { 
     $(this).val(""); 
    } 
} 

$(document).ready(function() { 
    $('#send').click(function() { 
     $('.message').val(""); 
    }); 
}); 

HTML:

<input type="text" name="message" class="message" onKeyDown="javascript:keyevent(event);" /> 
<button name="send" id="send" onclick="refresh();" />Send</button> 

然後我也有一個,如果(isset($ _ POST [ 'send'))在我的頁面上更高。但是,當我看到我發送的消息時,由於消息的值不存在,消息框爲空。

所以我的問題是,我該如何「延遲」刪除操作?我已經嘗試過延遲()

+0

不會在輸入框中的文本消失在刷新頁面? – Fraxtil 2012-07-28 01:10:36

+0

所以你在消息文本框中輸入命令時清除消息,但實際上你不想清除消息,至少在別的東西(提交表單?)發生之後纔會發生?爲什麼你首先要清理它? – ghbarratt 2012-07-28 01:12:43

+0

我在一個聊天系統上工作,頁面無法重新加載每一次你寫任何東西。所以這個頁面不會像PHP通常那樣重新加載。但是,輸入文本不會消失。 – 2012-07-28 01:18:33

回答

1

受過教育的猜測,你需要的是這個。

的Javascript:

$(document).ready(function() { 

    $('.message').keyup(function(e) { 
    if (e.keyCode == 13) { 
     $(this).val(''); 
    } 
    }); 

    $('#send').click(function() { 
    refresh(); 
    $('.message').val(''); 
    }); 

}); 

HTML:

<input type="text" name="message" class="message" /> 
<button name="send" id="send">Send</button>