2017-11-04 40 views
0

我使用sweetalert來要求用戶輸入以重命名標籤。然後我做一個ajax調用來改變服務器上的標籤。如果成功,我會調用一個小的回調函數(postAction),它將更新UI並在UI上重命名標記。只要小回調函數有一個聲明「swal(」done!「);」,所以用戶點擊這個小小的確認消息框,並釋放sweetalert消息框,它就可以正常工作。我試圖看看是否有一個函數可以調用,以釋放沒有額外的「swal(」done「)」語句的彈出輸入sweetalert,因此用戶將減少1次點擊。是否有捷徑可尋? 現在我所能找到的就是在第二個彈出窗口中添加一個計時器。 swal(「完成!」,{timer:500});沒關係,但並不理想。在ajax調用後明確釋放sweetalert彈出窗口

renameTag = function(tagId) 
{ 
    swal({ 
     title: "Rename Gallery Tag", 
     text: 'Please provide a new tag name', 
     content: "input", 
     button: { 
      text: "OK", 
      closeModal: false, 
     }, 
    }) 
    .then(name => { 
     var tagName = name.trim(); 
     if (tagName.length == 0) 
     { 
      swal({ 
       title: "Rename Gallery Tag Failed", 
       text: "Tag name cannot be empty", 
       icon: "error", 
       button: "OK", 
      }); 
      return; 
     } 
     else 
     { 
      ajaxAction("POST" 
        , "/User/RenameGalleryTag" 
        , { 'index': tagId, 'name': tagName } 
        , "rename gallery tag" 
        , { 
         'reload': false 
         , postAction: function() { 
          $(".selected-tag").text(tagName); 
          swal("done!"); 
         } 
        }); 
     } 
    }) 
} 
+1

也許你可以使用'showConfirmButton:FALSE'並沒有顯示該按鈕確認或在阿賈克斯成功函數調用,您可以關閉警告'swal.close()' – kip

回答

1

你應該能夠將其關閉這樣

swal.close() 
+0

是否爲你工作? – Ossip