You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Articulate Storyline:设置反馈表单最低字数才可进入下一页

在Articulate Storyline中实现反馈表单最低字数验证

一、Storyline基础设置

  • 给页面上的反馈文本输入框设置明确名称(比如feedbackInput,在右侧属性面板「名称」栏修改,注意大小写)
  • 添加「下一页」按钮,初始状态设为禁用(在按钮属性里勾选「初始禁用」)
  • 创建一个布尔类型变量enableNextButton,初始值设为false

二、绑定JavaScript验证逻辑

给文本输入框添加触发事件:当文本改变时执行JavaScript,代码如下:

// 获取输入框的内容
var inputContent = player.GetVar("feedbackInput");
// 设置最低字数要求,可自行修改
var requiredMinLength = 20;

// 过滤首尾空格后计算有效长度
var trimmedContent = inputContent.trim();
var validLength = trimmedContent.length;

// 根据字数判断是否启用下一页按钮
if (validLength >= requiredMinLength) {
    player.SetVar("enableNextButton", true);
} else {
    player.SetVar("enableNextButton", false);
}

接着给「下一页」按钮添加触发条件:当变量enableNextButton变为true时,设置按钮为「启用」状态。

三、排查之前代码无效的常见原因

  • 输入框名称不匹配:代码中player.GetVar("xxx")的名称必须和输入框的命名完全一致,大小写敏感
  • 变量绑定错误:未将enableNextButton变量和按钮的启用触发正确关联
  • 未处理空格:用户输入纯空格会被误判为有效内容,trim()方法可以过滤这类无效输入
  • 事件绑定错误:代码要绑定在「文本改变」事件上,而非页面加载或其他事件

四、额外优化(可选)

  • 添加提示文本:创建一个文本框,设置为初始隐藏,通过触发事件控制:当validLength < requiredMinLength时显示「请输入至少20字的反馈」,否则隐藏
  • 适配中文计数:如果需要将中文汉字按单个字符统计(避免中英文长度差异),可修改字数计算逻辑:
var validLength = 0;
var trimmedContent = inputContent.trim();
for (var i = 0; i < trimmedContent.length; i++) {
    // 中文Unicode范围:0x4E00-0x9FA5
    if (trimmedContent.charCodeAt(i) >= 0x4E00 && trimmedContent.charCodeAt(i) <= 0x9FA5) {
        validLength += 1;
    } else {
        validLength += 1;
    }
}

内容的提问来源于stack exchange,提问作者vizencox Mulicy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 01:12:06