我一直在尋找這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