[英]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.