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

JavaScript条件语句遇Unexpected Token {错误,列表单选按钮逻辑求助

解决有序列表嵌入JS单选判断的语法错误问题

嘿,看起来你在表单单选按钮的跳转逻辑上碰到了「Unexpected Token {」的语法坑——这个错误基本是因为你尝试直接在HTML结构里嵌入了不符合规范的JavaScript代码,或者语法结构有缺失。咱们结合你给出的代码片段来一步步修正:

修正后的完整代码示例

<ol>
  <li data-input-trigger>
    <label class="fs-field-label fs-anim-upper" for="q1">Welcome <br><br> Is this application for yourself or someone else?</label>
    <div class="fs-radio-group fs-radio-custom clearfix fs-anim-lower">
      <span>
        <input id="radio_myself" name="radMyself" type="radio" value="myself">
        <label for="radio_myself">Myself</label>
      </span>
      <span>
        <input id="radio_someone" name="radMyself" type="radio" value="someone">
        <label for="radio_someone">Someone else</label>
      </span>
    </div>
  </li>
  <!-- 后续列表项,默认隐藏,根据选择显示 -->
  <li id="q2-myself" style="display: none;">
    <label class="fs-field-label">接下来是关于你自己的问题...</label>
  </li>
  <li id="q3-someone" style="display: none;">
    <label class="fs-field-label">接下来是关于他人的问题...</label>
  </li>
</ol>

<script>
// 获取所有同名的单选按钮
const radioGroup = document.querySelectorAll('input[name="radMyself"]');

// 给每个单选按钮绑定状态变化事件
radioGroup.forEach(radio => {
  radio.addEventListener('change', function() {
    const myselfItem = document.getElementById('q2-myself');
    const someoneItem = document.getElementById('q3-someone');
    
    // 根据选中值判断并切换列表项显示
    if (this.value === 'myself') {
      someoneItem.style.display = 'none';
      myselfItem.style.display = 'block';
      // 平滑滚动到目标列表项
      myselfItem.scrollIntoView({ behavior: 'smooth' });
    } else if (this.value === 'someone') {
      myselfItem.style.display = 'none';
      someoneItem.style.display = 'block';
      someoneItem.scrollIntoView({ behavior: 'smooth' });
    }
  });
});
</script>

关键修正点:

  • 别直接在HTML里嵌复杂JS逻辑:之前的错误大概率是你把if(){}这类代码直接写在了HTML标签属性或内容里,浏览器解析HTML时根本识别不了这种JS语法,自然会抛出Unexpected Token错误。
  • 用事件监听处理交互:把单选按钮的状态检测逻辑放在独立的<script>标签里,通过change事件触发判断,这是符合JS语法规范的标准写法。
  • 检查语法完整性:确保if语句的条件有圆括号包裹、代码块有大括号闭合,同时补全你代码里没写完的value属性值,这些细节很容易引发语法解析失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:26:30