如何在不使用链接的情况下更改$ _GET变量的值?

时间:2014-12-17 17:49:43

标签: php html css

我正在使用的网站是一个房产销售网站,用户可以在这里自由地宣传他们的房产。物业可以出售或出租:http://ev-villa.com

我设计的搜索面板有两个标签:For Sale和To Rent。为了更清楚地了解以下问题,我建议您从上面的URL加载网站。由于该网站是多语言的,您可能需要通过单击页面右上角的标记图标将语言更改为英语。

因此,用户可以单击搜索面板(页面左侧)中的选项卡,此选项卡现在将更改颜色以显示它已被选中。这由名为saleType的URL中的变量处理。因此,如果此变量的值等于“torent”,则“To Rent”选项卡将更改颜色(当变量的值更改时,页面上的css会更改)。除了更改颜色外,此变量还会影响用户单击搜索按钮时获得的搜索结果。

这里的问题是变量是由需要重新加载/重定向的链接完成的。因此,如果单击这些选项卡几次,结果是用户必须单击浏览器的后退按钮几次才能离开网站或访问网站的其他部分。

我基本上在寻找替代解决方案,在不使用链接的情况下在php中更改此变量的值,以便在不将浏览器重定向到新页面的情况下设置该值。我试图避免使用JavaScript和其他语言,以确保最大的跨浏览器和跨平台兼容性,确保此网站适用于不支持JavaScript或不使用JavaScript的浏览器;在使用时启用JavaScript。

1 个答案:

答案 0 :(得分:1)

我对之前的回答不满意,所以我更多地考虑了一下。 这是一种解决方法,完全没有JavaScript 并且没有请求服务器:

  1. 不是为两种类型的搜索(租赁/销售)提供1个表单,而是创建两个相同的表单,但具有不同的action属性。

    <!-- Rental -->
    <form action="search.php?saleType=torent" method="get">
    ...
    <!-- Sale -->
    <form action="search.ph?saleType=forsale" method="get">
    ...
    
  2. 使用CSS将表单放在彼此的顶部,并隐藏其中一个表单。

  3. 使用Checkbox Hack检测“待售”和“租借”表单上的点击事件(您需要将其设为<label>),并隐藏/显示相应的表格。