Unbounce:根据选择跳转不同感谢页的JS脚本失效求助
脚本问题排查与修复
问题1:事件绑定错误
你绑定的是表单的click事件,但表单提交逻辑应该监听submit事件——点击按钮触发的是表单提交动作,直接监听click会跳过表单默认校验流程,导致脚本执行异常。
问题2:未获取控件实际选中值
$("#number_of_providers")返回的是jQuery对象,不是控件的选中值,必须通过.val()方法获取下拉框(或单选框)的实际选中内容。
问题3:case匹配值可能与实际选项不匹配
如果你的下拉框选项value属性是1-2而非#1-2,case的匹配条件就不成立,需要和控件实际的value值完全一致。
问题4:未阻止表单默认提交行为
表单提交会触发页面跳转/刷新,可能导致脚本逻辑还没执行完就被中断,必须用event.preventDefault()阻止默认行为。
问题5:window.open易被浏览器拦截
用window.open打开新窗口大概率会被浏览器弹窗拦截,建议直接用location.href在当前页面跳转,或者修改表单的action属性。
修复后的脚本示例
$("#lp-pom-form-501").on('submit', function(event) { // 阻止表单默认提交行为 event.preventDefault(); // 获取控件选中值 const selectedValue = $("#number_of_providers").val(); switch (selectedValue) { case "1-2": // 需与控件option的value属性值一致 location.href = "http://google.com"; break; case "3-4": location.href = "http://yahoo.com"; break; default: // 默认跳转至通用感谢页 location.href = "http://example.com/general-thank-you"; break; } });
额外注意事项
- 确认
#number_of_providers是正确的控件ID,Unbounce编辑器的元素设置面板可查看该ID。 - 如果是单选按钮组,需用
$('input[name="number_of_providers"]:checked').val()获取选中值,而非直接使用ID选择器。
内容的提问来源于stack exchange,提问作者Sue11
相关产品推荐
相关产品推荐

