我正在使用ajax來更新數據庫並使用新文件夾,但它在命中ENTER後刷新頁面。 在我的表單上我有onkeypress="if(event.keyCode==13) savefolder();"
這裏是我有的javascript代碼:它的功能基本上是在你點擊後輸入它調用函數savefolder,保存文件夾,然後通過ajax發送一個請求將文件夾添加到數據庫。問題是刷新頁面...我希望它保持在同一頁面上。 有什麼建議嗎?謝謝。在點擊ENTER後刷新頁面
<script>
function savefolder() {
var foldername= jQuery('#foldername').val(),
foldercolor= jQuery('#foldercolor').val();
// ajax request to add the folder
jQuery.ajax({
type: 'get',
url: 'addfolder.php',
data: 'foldername=' + foldername + '&foldercolor=' + foldercolor,
beforeSend: function() { alert('beforesend');},
success: function() {alert('success');}
});
return false;
}
</script>
爲什麼你有'e'聲明兩次的時間(在'doc.ready()'和'作爲window.event')和'回報假;'在'savefolder()'末尾應該(我想)取消表單提交,如果這是它的附加方式。你發佈的內容沒有嚴格意義(doc.ready()'塊的末尾在哪裏?)。 – 2012-02-19 02:57:02
另外,* ajax *不會執行往返;你的'submit'處理程序不會取消'submit'事件的是事實。我還沒有看到像你一樣的方法(也許它是IE特有的?),我沒有看到你聲明'submit'處理程序的位置。 – 2012-02-19 02:59:33
@JaredFarrish他在窗體標籤上定義了一個「inline onkeypress」事件... – xandercoded 2012-02-19 03:01:27