0

我想为用户提供一个“高级搜索”页面,该页面可以通过复选框打开或关闭。我制作了一个覆盖页面其余部分的 div,并像这样使用了复选框:

style.display = "none"
style.display = "block"

这工作得很好,因为我想要的基本上是一个模态对话框,这对我来说很有意义。

我添加了一个“重置”按钮,它应该清除所有字段,然后再次显示“高级搜索”页面。我不知道如何完成这一切。我有两个想法,但都不起作用:

  1. 重置搜索词的会话变量,然后以某种方式告诉刷新的页面启用复选框。
  2. 不要显示或隐藏 div,而是使用专用的“高级搜索”页面。此页面是带有参数 ?search=true 的根 URL。该复选框在带有和不带有参数的 URL 之间切换。似乎更容易控制。

我尝试将这种代码用于解决方案 #2 没有奏效:

function ModalPage() {
    if( self.location == location ) 
         { self.location = "?search=true"; }
    else { self.location = location; }
    // (some attempts looked less silly than this...)of #2
}

你的解决方案?

4

2 回答 2

2

在会话中存储该选项然后再次加载页面怎么样。在页面加载时,您可以检查该会话变量,如果已设置,则检查复选标记。

于 2012-04-30T18:18:58.087 回答
1

你的意思是你有一个简单的“搜索页面”和一个“高级搜索”页面吗?或者您只有一页,在单击复选框后显示和隐藏高级搜索功能?

在第二种情况下,您可以添加一个名为“reset”的新 javascript 函数并将该函数与重置按钮相关联:

<input type="button" id="resetButton" onclick="reset();" value="Reset"/>

在新的javascript“重置”功能中,您可以进行两个操作:重置所有字段,并显示高级搜索组件

function reset() {
    //reset all the fields
    ....

    document.getElementById(YOUR_ADVANCED_SEARCH_ID).style.display = "block";
}

在第一种情况下,重置功能可以简单地重定向到高级搜索页面,例如

location.href = "advancedSearchPage.XXX";
于 2012-04-30T18:37:50.053 回答