在多个页面上使用相同表单时的表单进度(javascript)

时间:2014-03-21 16:13:35

标签: javascript forms progressive

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

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

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

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

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

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

所以,一个例子是:

总问题 - 10个

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

JD下次访问同一页面时会显示 q7,q8,q9和q10 (如果数据库中有值,则显示较小的字段)

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

这有意义吗?

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

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

<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>

0 个答案:

没有答案