我有一个非常具体的问题需要解决。
我正在使用一个营销自动化平台,它将预先填充数据库在页面加载时存储的值的字段值。
目标是在页面上向用户询问一系列问题 - 但仅限于数据库缺少值的问题。
但是,我不想一次用超过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>