現在我正在執行editUser()
函數。我創建函數來處理點擊按鈕用jquery從本地存儲編輯用戶信息
$("#table-list tbody").on("click", ".btn-edit", function() {
operation = "E";
for (var i in tableStore) {
var temp = JSON.parse(tableStore[i])
if ($(this).attr("data-id") === temp.id) {
$enterID.val(temp.id);
$enterFirstName.val(temp.firstname);
$enterLastName.val(temp.lastname);
$enterLPhone.val(temp.phone);
$enterEmail.val(temp.email);
$enterAddress.val(temp.address);
$enterBirthday.val(temp.birthday);
$enterGender.val(temp.gender);
$enterID.attr("readonly", "readonly");
$enterFirstName.focus();
}
}
});
這幫助我從本地存儲檢索數據。然後當我更改input
標籤上的一些信息時,我將數據更新到本地存儲。這是功能幫助我做到這一點:
function editUser(tableStore, user) {
tableStore[tableStore] = user
operation = "A"
}
當形式是提交我處理一下這樣的:
$("#table-list tbody").on("click", ".btn-delete", function() {
selected_index = parseInt($(this).attr("data-id").replace("Delete", ""));
$(this).parents('tr').remove()
deleteUserInfor();
});
$(".form-information").on("click", ".btn-save-change", function() {
if (operation == "A"){
var newUser = readUserFromDOM();
addUser(tableStore, newUser.serialize());
localStorage.setItem("tableStore", JSON.stringify(tableStore));
}
else {
var editingUser = readUserFromDOM();
editUser(tableStore, editingUser.serialize());
localStorage.setItem("tableStore", JSON.stringify(tableStore));
}
});
但有些事情是錯的,我無法保存數據。那麼你能幫我展示那裏有什麼問題嗎?我的代碼user manager code pen。
那旁邊,操作是不適合的JS純函數好主意。如果你能請幫我重構它
許多感謝您的幫助
'tableStore [tableStore] = user'很好,看起來3種類型的錯誤 –
可以點擊我的代碼筆連接瞭解更多 –
不,我不會 - 如果這裏的代碼不是你有問題的代碼,那麼你需要多思考這個問題 - 我無法從你發佈的內容中知道那應該是什麼,我只是知道你在做什麼是完全錯誤的,僅在這一行 –