通常の関数を置き換えるためにSweetAlert.jsを使用していalert();
ます。起動順序に問題があり、ユーザーが不完全なフォームを送信しようとした後、それを維持できません。jsFiddle の「表示」モードでは、ページの読み込み時にアラートが発生します。私が設定した実際のページでは、まったく起動しませんが、ページの下部にアラートのテキストが表示されます。
jsFiddle: http://jsfiddle.net/mattography/d8s7rm19/1/
$("#submit").click(function () {
if ('localStorage' in window && window['localStorage'] !== null) {
try {
//Get stored data
var users = JSON.parse(localStorage.getItem('users'));
if (users === null) {
//If no stored data, create empty array
//users = [];
sweetAlert("Oops...", "Something went wrong!", "error");
}
//Create new user entry
user = {
name: $(".name").val(),
phone: $(".phone").val(),
website: $(".website").val(),
contact: $(".contact").val()
};
//Add new entry to stored array
users.push(user);
//Save array
localStorage.setItem("users", JSON.stringify(users));
alert("The data was saved.");
return true;
} catch (e) {
if (e == QUOTA_EXCEEDED_ERR) {
alert('Quota exceeded!');
}
}
} else {
alert('Cannot store user preferences as your browser do not support local storage');
}
});