0

通常の関数を置き換えるために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');
    }
});
4

1 に答える 1

0

リンク イベントが処理されないようにする必要があります。この場合、次を使用します。

event.preventDefault()
// and
return false;

更新されたソリューションを参照してください: http://jsfiddle.net/d8s7rm19/2/

于 2015-01-19T03:38:49.447 に答える