Wix:(Javascript) 将信息从一个页面传送到另一个页面

Wix: (Javascript) Carry information from a page to another

问题:无法根据其他网页的信息跳转和过滤网页上的信息

Background/Intended 行为: 我有 3 个网页:1. 主页 2. 法律页面 3. 医疗页面。 第 2 页:法律和第 3 页:医学,具有可以过滤该页面上链接图像的重复器的复选框。

用户从主页上的两个下拉列表中进行选择:任务和位置。在单击搜索按钮之前,任务和位置都是必需的。单击按钮时,如果任务 == 法律任务,则用户将跳转到法律页面,转发器将根据所选任务和位置进行过滤。 (示例:任务 = 消防员/位置 = 达拉斯) 预期结果:

  1. 用户跳转到法律页面
  2. 中继器被达拉斯的消防员过滤

如果选择了 Media 任务而不是 Law 任务,同样的行为也会适用。 (示例:任务 = 牙医/位置 = 达拉斯) 预期结果:

  1. 用户跳转到医疗页面
  2. 中继器由达拉斯的牙医过滤

问题 1:我在 Wix.com 上搜索了很多关于如何根据输入的信息编写页面跳转到另一个页面的代码。我想做一个 if 语句来检查任务下拉列表的值,但是我无法找到如何使用 Wix 中的 javascript 代码跳转到另一个页面。

问题 2:我还希望将一页中的值应用到另一页中。我是否应该只有一个默认为空白但可以在所有三个页面之间更改的全局变量?然后在加载第 2 页和第 3 页时使用变量的值来显示过滤器?

在 php 中,您可以将 if 和 else 属性与 html 表单属性一起使用,您可以使用复选框,在 if 中,您可以使用 echo '[= 将用户重定向到所需的页面12=]'.

我会创建一个 JSON 对象来使用 localStorage 保存所需的值。然后在加载下一个导航页面时将这些值调用到所需的元素。

感谢大家协助寻找解决方案。这是一个简单的问题,但由于它与 Wix 平台和使用他们的 API.

有关,所以变得非常复杂

解决方案 1:我使用 wix-location 模块将用户重定向到另一个页面。搬迁如期进行。
解决方案 2:我使用 wix-storage 跨页面存储值。信息按需要存储,并使用 session.getItem().

调用

[主页]

从 'wix-location' 导入 wixLocation; 从 'wix-storage';

导入 {session}

导出函数exploreSearchButton_click(事件){

if(($w('#categoryDropdown').value.length>0)&&($w('#stateLocationDropdown').value.length>0))
{
    session.setItem("location",$w('#stateLocationDropdown').value);

    switch($w('#categoryDropdown').value)
    {
        case "Doctor" :
            session.setItem("category",0);
            wixLocation.to("/medical-field");
            break;
        case "Dentist" :
            session.setItem("category",1);
            wixLocation.to("/medical-field");
            break;
            ...
        case "Police Officer": 
             session.setItem("category",0);
            wixLocation.to("/civil-service-law");
            break;
        case "Fire Fighter": 
             session.setItem("category",1);
            wixLocation.to("/civil-service-law");
            break;
      ...
        default: 
            console.log("Did not jump to another page.");
    }
}

}

[医疗页面]

从 'wix-storage' 导入 {session};

$w.onReady(函数(){

let newCategory = parseInt(session.getItem("category"));

if(newCategory>=0)
{
    $w('#categoriesCheckboxGroup').selectedIndices = [newCategory];
    $w('#stateLocationDropdown').value = session.getItem("location");
}
        displayServicesInRepeater("medical-field"); 

谢谢大家的帮助。