Javascript Sweet alert JS无法获取输入变量
我正在使用Javascript Sweet alert JS无法获取输入变量,javascript,sweetalert,Javascript,Sweetalert,我正在使用Sweet alert JS提示windows获取一些输入变量。 我试图在函数外使用这些变量,它们被设置为NULL,但当我在函数内使用它们时,它们被正确设置。 我读了一些关于回调函数的书,但我不理解它们 代码如下: function change_meeting(event_id) { $('#event_change_data > p:nth-child(1)').empty(); $('#event_change_data > p:nth-child(2
Sweet alert JS
提示windows获取一些输入变量。
我试图在函数外使用这些变量,它们被设置为NULL,但当我在函数内使用它们时,它们被正确设置。
我读了一些关于回调函数的书,但我不理解它们
代码如下:
function change_meeting(event_id) {
$('#event_change_data > p:nth-child(1)').empty();
$('#event_change_data > p:nth-child(2)').empty();
swal({
title: "Change meeting date!",
confirm: true,
dangerMode: true,
})
.then(function(value) {
swal({
content: "input",
title: "Insert date",
text: "Day / Month / Year (dd/mm/yyyy)",
confirm: true,
dangerMode: true,
})
.then(function(value) {
$('#event_change_data > p:nth-child(1)').text(value);
//NOT NULL DATA
swal({
content: "input",
title: "Insert hour",
text: "Hour : Minutes (hh:mm)",
confirm: true,
dangerMode: true,
})
.then(function(value) {
$('#event_change_data > p:nth-child(2)').text(value);
//NOT NULL DATA
});
});
});
var date = $('#event_change_data > p:nth-child(1)').text();
var hour = $('#event_change_data > p:nth-child(2)').text();
//NULL DATA
}
当数据被设置时,它在HTML标记中被正确地命名,但是当我试图获取它们时,它们是空的。
有人能解释我为什么没有正确地得到这些变量吗?
举个例子是可能的。
谢谢你的阅读 这是因为您在设置p元素之前读取了该元素的文本
function change_meeting(event_id) {
$('#event_change_data > p:nth-child(1)').empty();
$('#event_change_data > p:nth-child(2)').empty();
swal({
title: "Change meeting date!",
confirm: true,
dangerMode: true,
})
.then(function(value) {
swal({
content: "input",
title: "Insert date",
text: "Day / Month / Year (dd/mm/yyyy)",
confirm: true,
dangerMode: true,
})
.then(function(value) {
$('#event_change_data > p:nth-child(1)').text(value);
swal({
content: "input",
title: "Insert hour",
text: "Hour : Minutes (hh:mm)",
confirm: true,
dangerMode: true,
})
.then(function(value) {
$('#event_change_data > p:nth-child(2)').text(value);
//NOT NULL DATA
})
.then(() => {
// THIS SHOULD BE NOT NULL
var date = $('#event_change_data > p:nth-child(1)').text();
var hour = $('#event_change_data > p:nth-child(2)').text();
// DO THE STUFF YOU WANT TO DO WITH DATE AND HOUR
});
});
});
}
这是因为您在设置p元素之前读取了该元素的文本
function change_meeting(event_id) {
$('#event_change_data > p:nth-child(1)').empty();
$('#event_change_data > p:nth-child(2)').empty();
swal({
title: "Change meeting date!",
confirm: true,
dangerMode: true,
})
.then(function(value) {
swal({
content: "input",
title: "Insert date",
text: "Day / Month / Year (dd/mm/yyyy)",
confirm: true,
dangerMode: true,
})
.then(function(value) {
$('#event_change_data > p:nth-child(1)').text(value);
swal({
content: "input",
title: "Insert hour",
text: "Hour : Minutes (hh:mm)",
confirm: true,
dangerMode: true,
})
.then(function(value) {
$('#event_change_data > p:nth-child(2)').text(value);
//NOT NULL DATA
})
.then(() => {
// THIS SHOULD BE NOT NULL
var date = $('#event_change_data > p:nth-child(1)').text();
var hour = $('#event_change_data > p:nth-child(2)').text();
// DO THE STUFF YOU WANT TO DO WITH DATE AND HOUR
});
});
});
}
欢迎来到承诺的世界 您已经实现的Swal函数使用了一种称为Promise的东西 它的上下文与我们英语的承诺相似 因此,当您调用Swal函数Javascript时,它会向您承诺返回好消息或坏消息。(您可以在此处了解承诺:) 所以,当Javascript给你带来好消息时,就会执行一些东西,比如成功案例。当你有坏消息(如失败案例)时,cath将执行 现在,当调用Swal时,实际执行并没有停止。这仍然有效。因此,在冲洗下一条管线后,应立即进行冲洗
var date = $('#event_change_data > p:nth-child(1)').text();
var hour = $('#event_change_data > p:nth-child(2)').text();
在等待消息到来时被处决。也就是说,没有为元素分配内容,因此您得到Null
想象一下,你是一名经理,你想看到今天的出席情况报告。你让你的助手从开发者那里得到它。当你的助手在另一层楼尝试与开发人员联系时,你能看到文件中的报告吗?没有。但在助手返回后,无论是否有报告,您都会得到他的回复。欢迎来到承诺的世界 您已经实现的Swal函数使用了一种称为Promise的东西 它的上下文与我们英语的承诺相似 因此,当您调用Swal函数Javascript时,它会向您承诺返回好消息或坏消息。(您可以在此处了解承诺:) 所以,当Javascript给你带来好消息时,就会执行一些东西,比如成功案例。当你有坏消息(如失败案例)时,cath将执行 现在,当调用Swal时,实际执行并没有停止。这仍然有效。因此,在冲洗下一条管线后,应立即进行冲洗
var date = $('#event_change_data > p:nth-child(1)').text();
var hour = $('#event_change_data > p:nth-child(2)').text();
在等待消息到来时被处决。也就是说,没有为元素分配内容,因此您得到Null
想象一下,你是一名经理,你想看到今天的出席情况报告。你让你的助手从开发者那里得到它。当你的助手在另一层楼尝试与开发人员联系时,你能看到文件中的报告吗?没有。但是在助手返回后,无论是否有报告,您都会得到他的响应。您是否尝试将
变量设置为全局变量。看起来您是在设置数据之前读取数据的(您使用的是承诺设置数据,它是异步的)。我尝试使用会话变量,将数据保存为html标记。。并且变量被设置为null@RohitTagadiyaI也这么认为,但是你能想出一些方法来获取变量吗?谢谢@DBS您是否尝试将变量
设置为全局变量
。看起来您正在读取设置前的数据(您正在使用承诺设置数据,它是异步的)。我尝试使用会话变量,将数据另存为html标记。。并且变量被设置为null@RohitTagadiyaI也这么认为,但是你能想出一些方法来获取变量吗?谢谢@星展银行