confirmit平台问题汇总

Html Styles下任意一个复制样式系统命名的问题:

 当某个题中某个元素需要单独设置CSS样式时,复制一份全局样式后,引用复制的那个样式scale (2)会失效。
原因:系统默认生成的这个class名称其实是两个class名称( class="scale   (2)" )  , 所以我们引用这个样式会失效。
解决方案:自己手动改个合适的单独的class名称。


手机端不能直接给input设置disabled属性:

confirmit中由于PC端和手机端的某些设置不一样,导致部分代码在手机端执行后无效果。

<input type="radio" name="q88_1" id="q88_1_1" value="1">

 <label id="q88_1_1_label">1</label>


在PC端中,以上两个标签都存在, 可以给PC端中的input设置disabled。 

但是在手机端中, input 被设置为display:none;   而图中的单选框其实背景图


创建的 if 判断条件的区别:

在正常的  if( statement ) { /* 执行的代码块 */ }  中  , statement : 最终会转换为 Boolean 值( true 或 false ) 来判断是否要执行其下的代码。

但是在confirmit中, 创建的 if 判断条件 不能是单个的 数字 或 字符串。 

当只获取A1选中的个数(不管是0 ,还是1等)时,这里是不会将其转换为 false 或  ture ,  因而 i37题 在此类判断条件下 永远不会执行。

记录于2020/09/23 . 如果后期哪位好友发现在此可以使用  f('A1').size() 当作判断条件时,此笔记可以退休了,哈哈。


调用方法生成的数组调用sort(含有随机排序函数参数)的区别: 

在正常的array.sort() 中, 调用sort() 方法会改变 原数组,不会创建副本, 就算sort() 中含有 函数参数也一样只改变原数组,

但是在confitmit平台中 你最好定义一个变量接收 随机排序后的新数组。(特殊情况下不会改变原数组,会生成一个新数组)。

 在第二张图中可以清晰的看到,当调用该平台的数组使用 sort('随机函数') 时,没有改变原数组, 因此在此定义了一个新变量接收新数组。

注意: 目前只有该平台调用的数组 使用 含有随机排序函数 参数  的sort() 方法才会不改变原 数组。

意思就是: 如果使用第一张图中的 第8行的数组, 调用sort('随机函数') 也还是只改变原数组。

     如果使用第一张图中的 第9 / 10 行类似的数组, 调用sort('随机函数') 不会改变原数组, 会生成一个副本, 所以要用新变量接收它。

记录于 2020/09/23 ,还有好多不一样的,慢慢记录下来,哈哈。 


confirmit中any()方法参数问题:

confirmit中any()方法的参数目前最终只能是字符串形式。不过有种特殊的情况。

 数字的话会报错,比如报错信息:CODED A1 does not implement any function

特殊情况:


confitmit中none()方法:

举例: 

f('A1').none('1','2','3')

用法:如果A1题没有选中1&&2&&3返回 true  ,  否则返回 false .

其中 none() 方法包括 此题没有回答(==没有选中指定参数),在添加逻辑代码时要注意是否要加上此题被回答的条件: f('A1').toBoolean().

/* 简单: 只考虑 A1 题的code=1,2,3 都没选 */
f('A1').none('1','2','3')

/* 复杂: 考虑A1题被回答了 且 A1 题的code=1,2,3 都没选 ;(简而言之就是A1题选中了其它选项)*/
f('A1').toBoolean() && f('A1').none('1','2','3')


confirmit中indexOf()方法:
来,先看个两个截图

而且如果在confirmit平台中使用了indexOf()方法,会有两种报错提醒~o.o~!

第一种:Error in QuestionValidationCode : Objects of type 'Firmglobal.Confirmit.SurveyEngine.Common.SurveyArrayList' do not have such a member 

 第二种:Error in validation script [B1]: Function expected


confirmit中 domainValues() 方法:

先来看下domainValues()方法的定义:

中文大致翻译下: domainValues() 方法返回出示(显示)选项 对应的 code 数组。如果出示的选项随机了, 那么返回的codes也是随机对应的

举例: 有四个选项 a ,b ,c , d 。 各自对应的code 为 1 ,2,3,4。

当只出示 a, c , d 三个选项时,domainValues() 返回的codes 只有由 1,3,4 这三个code组成的数组。

当随机出示的顺序为  a , c , d , b。  domainValues() 返回的codes 为  [ 1,3,4,2] 。


原文地址:https://www.cnblogs.com/FlyingLiao/p/13720146.html