我想在单击表单的保存按钮时添加一行,它正在发生,但随后页面刷新本身(为什么?),新行消失了。怎么预防呢?

<button id="saveBtn">Save</button>

$("#saveBtn").click(function(){
    add();
});

function add() {
    var book = {};
    $('form [name]').each(function(){
        book[this.name] = this.value;
    });
    bookList.push(book);
    console.log(bookList);
    localStorage.setItem('bookList', JSON.stringify(bookList));
    showBooks();

}

function showBooks(){
    for (var i=0; i < bookList.length; i++){
        $("#tblData tbody").append("<tr>"+
                                     "  <td>"+bookList[i].author+"</td>" +
                                     "  <td>"+bookList[i].title+"</td>" +
                                     "</tr>");
        }
}

最佳答案

像这样更改您的按钮事件。当执行点击时,也会执行回发。通过调用event.preventDefault()可以防止此回发

$("#saveBtn").click(function(event){
event.preventDefault();
    add();
});

关于jquery - 本地存储防止页面重新加载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28982782/

10-09 23:05