自定义问题构建器

自定义脚本的重要更新

CustomScript操作现在支持Lua编程语言。访问我们新的Lua脚本资源!!


  1. 新帐户(2018年10月29日之后创建)将只能在脚本中使用Lua。
  2. 截至2018年10月29日,在此日期之前创建的帐户的自定义脚本操作将默认为Lua作为脚本类型。您将能够切换到遗留自定义脚本;尽管我们强烈鼓励使用Lua。
  3. 从长远来看,传统的自定义脚本操作将切换为只读。具体日期待定;我们将提前发送通知。

可用于这些许可证:完全访问

在下面研究库>自定义问题我们提供了一个框架,可以从头开始构建您自己的调查问题。下面我们将介绍一个相当基本的自定义问题设置。

在我们开始之前,您应该知道我们为高级程序员创建了自定义问题,以便在炼金工中选择自己的冒险。这部分冒险是支持的,因为自定义问题超出了我们支持团队的范围。

在本教程中,我们将介绍Net Promoter Score®(NPS®)问题,在将其添加到核心应用程序之前,我们最初将其作为一个定制问题构建。

关于标签

在这一点关于选项卡输入自定义问题的描述性详细信息。您需要确保至少指定一个问题类型名称地位描述

注意:如果自定义问题的状态为在设计中,无法将问题添加到用于测试目的的调查中。如果您需要测试问题,请将状态设置为积极的

还有几个可选图像URL字段。图标URL将显示在调查的“构建”选项卡上。

布局标签

在这一点布局选项卡将为您的问题输入HTML。以下是NPS自定义问题的HTML。注意,您需要在HTML中使用alchemer以下元素:

  • 炼金术家课程,例如SG-Chinese-Tale,SG-Question-Number等
  • 自定义问题合并代码,例如%elementid%。请参阅可用的合并代码。
  • Alchemer merge codes e.g., [question("number"), id="%elementid%"] [question("title"), id="%elementid%", displaytitle="true"] [question("required"), id="%elementid%"].
<!--这是您的画布-->

    自定义问题合并代码

    • % elementid %-创建问题时将动态填充的问题或元素id。
    • %pageid%- 在创建问题时将动态填充的页面ID。
    • %surveyId%-创建调查和问题时将动态填充的调查id。

    脚本选项卡

    脚本选项卡应该包含运行onload和onsubmit的Javascript。下面是javascript脚本选项卡的NPS自定义问题。注意,您需要使用自定义脚本函数,例如getCustomProperty和getStorageValue。

    function(trans) {var count = 10;Var key, tmp_ar = [];for (key in trans) {if (trans. hasownproperty (key)) {tmp_ar[count] = trans[key];数,}}返回tmp_ar;}, //onload -显示之前的响应(如果有的话)onload: function(){//重新排列顺序var标签= [];标签。李推(“< > < span id =“llabel - % elementid %”>极有可能10李< / > < / span >”、“<李> 9 < /李>”、“<李> 8 < /李>”、“<李> 7李< / >”、“<李> 6 < /李>”,“李< / > <李> 5”,“李< / > <李> 4”,“李< > 3 < /李>”、“<李> 2李< / > ',' <李> 1 < /李>”、“<李> < span id =“rlabel - % elementid %”>极不可能< / span > 0 < /李> ');Var values = [];值。push( '
  • ', '
  • ', '
  • ', '
  • ', '
  • ', '
  • ', '
  • ', '
  • ', '
  • ', '
  • ', '
  • '); if (this.getCustomProperty("order") == 'Ascending') { //flip array labels = this.array_flip(labels); values = this.array_flip(values); } $("#nps-labels-%elementid%").html(labels.join('')); $("#nps-values-%elementid%").html(values.join('')); //Ability to set labels var llabel = this.getCustomProperty("l_label"); var rlabel = this.getCustomProperty("r_label"); if (llabel != null && llabel != '') { $("#llabel-%elementid%").html(llabel); } if (rlabel != null && rlabel != '') { $("#rlabel-%elementid%").html(rlabel); } if (!window.isEditor) { var value = this.getStorageValue(); if (value != '') { this.getElement("nps-%elementid%-" + value)[0].checked = true; } } }, //Store the value from the custom question into this survey element onsubmit: function() { var value = $("input[name=nps-%elementid%]:checked").val(); this.setStorageValue(value); } }

    CSS/JS选项卡

    CSS / JS选项卡应包括您希望在调查中运行的CSS和任何客户端JavaScript。以下是NPS自定义问题的CSS / JS选项卡的CSS。

    .netpromoterscore{display:inline block;overflow:auto;margin bottom:0px;}.netpromoterscore li{width:35px;float:left;display:block;text align:center;padding:3px;}.nps值li{width:35px;float:left;display:block;text align:center;padding:3px;margin top:0px;}.netpromoterscore li span{显示:块;左边距:-7px;边距顶部:-30px;位置:绝对;文本对齐:中心;宽度:50px;}.nps选项{填充顶部:35px;}

    脚本标签Vs CSS/JS标签

    您在问题脚本字段以及客户端JavaScript字段中的javascript都将在调查中加载您的问题,在同一