我的问题特别针对Gravity Forms和Survey Add-On
我试图通过内置"调查结果"之外的调查插件来完成一些计算。显示在表单UI中。基本上我有三类问题的调查,每组5个问题,总共15个问题。在类别之间交替的单独页面上一次询问一个问题,因此类别1然后是2然后是3然后回到1.问题是使用Likert字段设置的,评分从1到5启用。我想计算并显示平均值每个类别,然后另一个"得分"通过将每个类别的平均值相乘来计算。我希望分数显示在四舍五入到1小数点的确认页面上。
我试图使用隐藏号码字段来计算合并标签的每个平均值,然后将数字字段合并标签输出到确认页面,因为据我所知,您不能直接在确认页面上进行计算。但是,数字字段合并标记输出0,甚至普通的李克特字段合并标记输出标签而不是1-5值。在其自身的形式中,数字字段计算与6或7位数字相反,即使仅在数字字段计算中单独使用字段ID合并标记我得到7位数字。我不认为Likert值正在计算中。
联系GF支持我能够让他们给我这个修改调查合并标签的代码来显示值而不是标签,但是这不适用于表单计算中使用的合并标签。只有在提交确认表单后才会显示正确的号码。
add_filter( 'gform_merge_tag_filter', 'survey_score_modifier', 10, 4 );
function survey_score_modifier( $value, $merge_tag, $modifier, $field ) {
if ( $field->type == 'survey' AND $modifier == 'score') {
foreach ( $field->choices as $choice) {
if ( $choice['text'] == $value ) {
return $choice['score'];
}
}
}
return $value;
}
我被告知喜欢该字段的得分存储在表单对象中,出于安全原因这是一个随机数。
我想知道如何捕获表单中每个字段的likert字段得分,并能够在表单提交之前进行计算,或者在提交到我可以使用合并标记运行计算的页面后重定向。
感谢。