0

我有一个非常具体的问题需要解决。

我正在使用一个营销自动化平台,它将预先填充数据库在页面加载时存储的值的字段值。

目标是在页面上向用户询问一系列问题 - 但仅限于数据库缺少值的问题。

但是,我不想一次用超过5 个问题轰炸用户。

这样做,下次同一用户访问页面时(页面上的内容根据查询字符串值显示),它应该在缺少值的行中询问 NEXT 5 个问题(或更少)。

这样,我可以在多个页面上使用相同的表格,同时保持问题的完整流程,并且不必担心谁在进展中。

所以,一个例子是:

总问题 - 10

John Doe 第一次进入页面时只看到
q1、q3、q4、q5、q6,
因为我们在数据库中有q2的值,并且我们一次将显示限制为 5 个字段。

下次 JD 进入同一页面时 -显示q7、q8、q9 和 q10(或较小的字段,以防我们在 db 中有值)

我将拥有始终不变的字段,因此我们不会出现可能没有显示字段的情况。

那有意义吗?

这是我迄今为止在功能方面提出的建议。

我需要帮助的是如何使这项工作的逻辑。

<script language="JavaScript">

var fieldName;

function getQueryVariable(variable)
{
   var query = window.location.search.substring(1);
   var vars = query.split("&");
   for (var i=0;i<vars.length;i++) {
           var pair = vars[i].split("=");
           if(pair[0] == variable){return pair[1];}
   }
   return(false);
}

Requests = {
    QueryString : function(item){
    var svalue = location.search.match(new RegExp(“[\?\&]” + item + “=([^\&]*)(\&?)”,”i”));
    return svalue ? svalue[1] : svalue;
    }
}


function showField(fieldName) {
        document.getElementById(fieldName).style.display = "block";
    }

function hideField(fieldName) {
        document.getElementById(fieldName).style.display = "none";
    }

function showHideField(fieldName) {
        if (document.getElementById(fieldName).style.display == "block")
    {
        document.getElementById(fieldName).style.display == "none";
    };

        if (document.getElementById(fieldName).style.display == "none")
    {
        document.getElementById(fieldName).style.display == "block";
    };
    }

    function isBlank(fieldName) {
    if (fieldName.value=="null" || fieldName.value=="") { return true; }
    else { return false; }  
    }

</script>
4

0 回答 0