2014-10-16 3 views
0

Я использую SweetAlert.js для замены типичной функции alert();. Есть проблема с порядком стрельбы, и я не могу заставить его остаться после того, как пользователь попытался представить неполную форму. В режиме «show» на jsFiddle предупреждение срабатывает при загрузке страницы. На фактической странице, на которой она установлена, она не срабатывает вообще, но текст предупреждения отображается внизу страницы.SweetAlert Не разрешает пользователю взаимодействовать

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'); 
    } 
}); 

ответ

0

Вы должны предотвратить событие связи от обработки. В этом случае используйте:

event.preventDefault() 
// and 
return false; 

Смотрите обновленное решение: http://jsfiddle.net/d8s7rm19/2/