Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Qualtrics调查中隐藏“下一步”按钮直到一天中的某个时间_Javascript_Qualtrics - Fatal编程技术网

Javascript 如何在Qualtrics调查中隐藏“下一步”按钮直到一天中的某个时间

Javascript 如何在Qualtrics调查中隐藏“下一步”按钮直到一天中的某个时间,javascript,qualtrics,Javascript,Qualtrics,我试图隐藏Qualtrics调查中的“下一步”按钮,直到特定的日期/时间(代码中的var阈值)。我试过了 Qualtrics.SurveyEngine.addOnload(function() { var threshold = '2020-02-07T20:00:00.000Z'; var today = new Date(); if(threshold < today) $('NextButton').hide(); else $('NextButton

我试图隐藏Qualtrics调查中的“下一步”按钮,直到特定的日期/时间(代码中的var阈值)。我试过了

Qualtrics.SurveyEngine.addOnload(function()
{
    var threshold = '2020-02-07T20:00:00.000Z';
    var today = new Date();
    if(threshold < today) $('NextButton').hide();
    else $('NextButton').show();

});
Qualtrics.SurveyEngine.addOnload(函数()
{
风险值阈值='2020-02-07T20:00:00.000Z';
var today=新日期();
如果(阈值<今天)$('NextButton').hide();
else$('NextButton').show();
});

Qualtrics.SurveyEngine.addOnload(函数(){
函数hideEl(元素){
元素。隐藏();
}   
var nb=$('NextButton');
风险值阈值='2020-02-07 08:12';
var today=新日期();
var date=today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
var time=today.getHours()+“:“+today.getMinutes();
var dateTime=日期+“”+时间;
推迟(nb);
if(var dateTime<阈值)nb.hide();
else nb.show();
});

Qualtrics.SurveyEngine.addOnload(函数(){
函数hideEl(元素){
元素。隐藏();
}
风险值阈值='2020-02-07T20:00:00.000Z';
var today=新日期();
var nb=$('NextButton');
推迟(nb);
$(this.questionId).on('display',函数(事件){

如果(今天如果您希望加载页面,然后将其留在原位并等待按钮显示,那么它将不起作用,因为您的加载代码只运行一次。您可以计算页面加载时显示按钮的时间(以毫秒为单位),然后设置超时,在该毫秒数过后运行显示按钮的代码

函数onload cb(){
//您希望何时显示按钮:
const timeToShow=新日期(');
//将其转换为毫秒:
const msToShow=编号(timeToShow);
//立即获取毫秒数:
const now=Date.now();
//做数学!
const msToWait=msToShow-now;
//设置一个等待我们计算的毫秒数的超时:
设置超时(()=>{
//时间已经过去了,显示按钮!
$('.NextButton').show();
},msToWait);
}

我猜
$(“.NextButton”)
可以吗?A.Meshu的评论解决了您的问题吗?这只是一个没有正确的选择器来获取按钮元素的引用的问题吗?谢谢您的帮助。添加了。没有做到这一点:/I我认为它与日期格式有关,所以我现在正在玩弄这个逻辑。如果您正确回答这个问题由于输入错误,on应该关闭(OP没有在选择器类名上添加点)你不这么认为吗?这取决于OP的意图……如果他们只是没有正确地选择按钮选择器,那么是的。如果他们试图找出如何在他们的项目上执行异步、基于时间的行为,而选择器不是问题所在,那么我认为这是一个合理的解决方案:在没有看到HTML或使用Qualtric调查的情况下,似乎t由于选择器的原因,他所有的尝试都失败了。如果他将console.log记录下来,他将看到空值,甚至是一个错误。。。
Qualtrics.SurveyEngine.addOnload(function() {   
    function hideEl(element) {
        element.hide();
    }   
    var nb = $('NextButton');
    var threshold = '2020-02-07 08:12';
    var today = new Date();
    var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
    var time = today.getHours() + ":" + today.getMinutes();
    var dateTime = date+' '+time;
        hideEl.defer(nb);
    if(var dateTime < threshold ) nb.hide();
    else nb.show();

    });
Qualtrics.SurveyEngine.addOnload(function() {
    function hideEl(element) {
        element.hide();
    }
    var threshold = '2020-02-07T20:00:00.000Z';
    var today = new Date();
    var nb = $('NextButton');
    hideEl.defer(nb);
 $(this.questionId).on('display', function(event) {
        if(today<threshold) nb.hide();
        else nb.show();
    });
});