根据所选变量生成页面信息

时间:2012-06-06 04:54:24

标签: html css html5 css3

我正在使用包含所有50个州的选择标记构建网站。我希望能够为所选的每个状态生成一个页面,而不必编写50个单独的页面。关于如何实现这一目标的任何想法?谢谢。

1 个答案:

答案 0 :(得分:1)

您可以在页面加载时加载所有数据,也可以通过ajax加载,只显示当前状态的数据,

或者如果你有一个服务器端数据库/数据源来从中提取数据,也可以让页面为特定状态提供数据,由查询/ GET变量定义,URL看起来像:

http://mysite.com/myPage.aspx?state=ca

http://mysite.com/myPage.php?state=az

当请求页面时,您可以让服务器页面填充当前状态的正确数据,然后将其发送到客户端。

一般来说,我倾向于服务器端解决方案,特别是如果您的访问者可能只访问少数几个状态,那么就没有理由加载所有状态数据。另一方面,如果每个州的数据非常小,那么无论如何都可能没有太大的不同。

修改

我不知道网上有任何具体的教程,但由于这包括将一些内容放在一起,我会告诉你可能有用的主题。

根据您对php,c#或服务器端部件的其他选择语言的了解程度,请研究以下主题:

  1. 阅读获取变量
  2. 切换案例陈述
  3. 将变量值添加到html的部分或html字符串的连接
  4. 可选择各种数据库主题,(如果您不想硬编码) 数据到您的代码中)
  5. 例如,您的服务器端php页面看起来像这样(未经测试的代码):

    <?php
    switch($_GET["state"]) {
      case "ca":
        $pageTitle = "California";
        $pageContent = "stuff about CA";
        break;
      case "az":
        $pageTitle = "Arizona";
        $pageContent = "stuff about a really hot state";
        break;
        ...
    }
    
    ....
    
    echo '<h1>' . $pageTitle . '</h1>' . '<p>' . $pageContent . '</p>'; 
    
    ?>
    

    除了您希望在访问者选择不同状态时进行处理,并且在选择状态时加载正确的页面。使用jQuery,您可以使用change() method

    执行某些操作

    在你的html体中声明你下拉列表(选择输入)id =“stateSelectDropDown”,然后在你的javascript(未经测试的代码)中:

    <script type="text/javascript">
      $(function() {
        $("#stateSelectDropDown").change(funciton() {
          window.location = "nameOfThisPage.php?state=" + $(this).val();
        });
      }
    </script>
    

    我为任何拼写错误或语法错误道歉,我希望这能指出你正确的方向。