我一直在寻找这SO Post努力了解处理查询字符串。很高兴看到所有的答复。我试图理解的是,如何进一步提供所提供的查询字符串实际替换DOM中的对象(如特定的DIV),并将其替换为另一个DIV(可以隐藏在门外),或者只是替换DIV中的内容。根据查询字符串替换HTML?
我在网上看到了一些资源,但没有什么可以在jsfiddle中正确测试的。 Another post here sort of eludes to this。
目标
有一个简单的页面展示身体内的单个DIV。 加载页面时,会显示DIV和内容。 当使用?q = whatever加载页面时,该DIV中的内容将被替换为其他内容。
我的解决方案
为了有一个DIV dissapea,这是解决第一个问题的基础上,未来通过查询字符串,我实现了这个我的网页上:
if (strrpos($_SERVER['REQUEST_URI'], '/landingpage/index.php?q=1') === strlen($_SERVER['REQUEST_URI']) - strlen('/landingpage/index.php?q=1')) {
$style = "display: none";
}
else {
$style = "display: inline";
}
然后我把它放在我的DIV中:
<div id="theForm" style="<?php echo $style; ?>">
//Form code here
</div>
这让我至少h如果查询字符串存在,则清除DIV。
下一步,是不是很清楚,但用一些内容替换它。
添加以下到我原来的PHP:
$thankYou = "<h1>Thank You for signing up</h1>";
在第一,如果,并改变了别的一个ELSEIF捕捉非查询字符串代码,可能的一些更多的情况下在路上。
所以最终的PHP代码如下所示:
if (strrpos($_SERVER['REQUEST_URI'], '/landingpage/index.php?q=1') === strlen($_SERVER['REQUEST_URI']) - strlen('/landingpage/index.php?q=1')) {
$style = "display: none";
$thankYou = "<h1>Thank You for signing up</h1>";
}
elseif (strrpos($_SERVER['REQUEST_URI'], '/landingpage/index.php') === strlen($_SERVER['REQUEST_URI']) - strlen('/landingpage/index.php')) {
$style = "display: inline";
$thankYou = "";
}
然后,它只是一个在PHP中添加的物质呼应将要显示或隐藏的DIV之前的$三江源变量右出,这对我来说是这样做的。
在编程中是分裂的任务,小的子任务,并分别解决这些问题是一个好主意。因此,将这个问题分成更小的问题**问一个特定的问题**,这样就不会看起来像“我有一项任务 - 为我做” – zerkms 2012-07-11 00:02:55
@zerkms我觉得这确实是一个单一的问题,这是怎么回事我根据查询字符串替换内容,但是如果您觉得这是更重要的任务,请原谅我,这不是我的意图。 – stebesplace 2012-07-11 00:10:03
@JamesPoulson我发现innerHTML可以作为一种替代手段添加一些数据。那里的最后一个答案可能会有所提示。 – stebesplace 2012-07-11 00:11:48