【问题标题】:Conditional Landing Page有条件的着陆页
【发布时间】:2021-06-02 06:47:52
【问题描述】:

我的目标是根据用户的下拉选择将用户引导至感谢页面。

如果选择了 YPN 或 Y13,此代码会正确地将用户引导至“thank-you”,如果选择其他任何内容,则将用户引导至“guide-thank-you”。

我正在努力添加第三个感谢页面。如果用户选择 Y46,那么用户将被定向到“thank-you-y46”,但我无法弄清楚。

我只写了几个月的代码。

感谢您提供的任何帮助!

 <script>
    $(document).ready(function ($) {
            $(".btn-submit").click(function() {
                    var manuscript = $('#manuscript_ready__c').val();
                    var country = $('#Country').val();
                    var lpv = ($.inArray(manuscript, ["YPN","Y13"]) > -1 && $.inArray(country, ["USA","CAN"])> -1) ? "thank-you" : "guide-thank-you";
                    var hostURL = window.location.origin;
                    window.module.lp.form.data.url = hostURL +"/" +lpv;
            });
    });

【问题讨论】:

  • 解决方案实际上是基本上永远不要写像($.inArray(manuscript, ["YPN","Y13"]) &gt; -1 &amp;&amp; $.inArray(country, ["USA","CAN"])&gt; -1) ? "thank-you" : "guide-thank-you" 这样的语句 - 以更具表现力、更长但更易于阅读、理解和扩展的方式编写。
  • 保持难以阅读的格式,您将另一个 $.inArray ? : inside 放在现有查询的 : 部分。它会更难阅读。
  • 你考虑过if..else 吗?

标签: javascript jquery conditional-statements


【解决方案1】:

试试这个:

($.inArray(manuscript, ["YPN","Y13"]) > -1 && $.inArray(country, 
["USA","CAN"])> -1) ? "thank-you" : (($.inArray(manuscript, "Y46") > -1 && 
$.inArray(country, ["USA","CAN"]) > -1)  ? "third-page" : "guide-thank-you");

【讨论】:

  • 即使 if 这行得通,代码也值得一票否决。
  • @luk2302 你还有什么建议他们使用三元运算符得到他们想要的结果?
  • 不使用三元运算符。
  • 题中没有要求使用三元运算符。
  • 谢谢大家!我非常感谢您在多个方面的反馈。我会试试这个,也想办法用 IF / ELSE 做到这一点。这在 Unbounce 中,我必须解决一些奇怪的事情。
猜你喜欢
  • 2023-02-13
  • 1970-01-01
  • 1970-01-01
  • 2019-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-31
  • 1970-01-01
相关资源
最近更新 更多