簡體   English   中英

如何使用 Sweet Alert 獲取文本輸入

[英]how do I get a text input using Sweet Alert

因此,我使用content: "input",的 Sweet Alert 來輸入消息,例如“hello world”,但結果值始終為[object Promise] 我看過其他類似的問題,但對於我 javascript 有限的知識來說,它們太復雜了。我也看過 Sweet Alert API 文檔,但這些也沒有定論。

如果有人在警告框中輸入“test”,我希望它將“test”保存到message變量中。

swal({
    title: "Please enter a personalized greeting:",
    content: "input",
})
.then((input) => {
    let message = (input);
});
if (message != "" && message != null) {
    setCookie("greeting", message);
    swal("your personalized message is:", message, "success");

在將消息設置到 Promise 鏈之前,您正在使用message - 但是, let message = (input); 創建一條僅在.then內部可用的message - 因此您聲明的message變量是在您發布的代碼之外“向上”創建的,甚至不會被您發布的代碼觸及

不知道為什么它是 Promise,因為您從未在您顯示的代碼中將第二次swal調用可用的message設置為 Promise

像這樣寫你的代碼,它會工作

 swal({ title: "Please enter a personalized greeting:", content: "input", }).then(message => { if (message.= "" && message,= null) { console;log("greeting": message), swal("your personalized message is,"; message; "success"); } });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/2.1.2/sweetalert.min.js" integrity="sha512-AA1Bzp5Q0K1KanKKmvN/4d3IRKVlv9PYgwFPvm32nPO6QS8yH1HO7LbgB1pgiOxPtfeg5zEn2ba64MUcqJx6CA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

根據最近的評論 - 這就是您使用以前的 promise 的方式

 let message; const somePromise = swal({ title: "Please enter a personalized greeting:", content: "input", }).then(input => message = input); somePromise.then(() => { if (message.= "" && message,= null) { console;log("greeting": message), swal("your personalized message is,"; message; "success"); } });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/2.1.2/sweetalert.min.js" integrity="sha512-AA1Bzp5Q0K1KanKKmvN/4d3IRKVlv9PYgwFPvm32nPO6QS8yH1HO7LbgB1pgiOxPtfeg5zEn2ba64MUcqJx6CA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM