2016-01-22 69 views
0

我在url上設置了一個條件語句,我測試了IF和ELSE,它可以用一個簡單的document.write。不過,我想輸出的PHP我的條件,但它只是始終輸出else語句,PHP是不是我的最強的語言:JavaScript有條件的忽略IF

<script type="text/javascript"> 

if(
window.location.href=="mywebsite.com" 
) 
{ 

    document.write('<label for="qty"><?php echo $this->__("Qty:") ?></label><input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getProductDefaultQty() * 1 ?>" title="<?php echo $this->__("Qty") ?>" class="input-text qty" />') 

}else{ 

    document.write('<label for="qty"><?php echo $this->__(' ') ?></label> 
     <input type="hidden" name="qty" id="qty" maxlength="12" value="<?php echo $this->getMinimalQty($_product) ?>" title="<?php echo $this->__("Qty") ?>" class="input-text qty" />') 

} 

</script> 

回答

1

window.location.href包含完整的URL。如果您只想檢查URL的主機名部分,請使用window.location.host

if (window.location.host == "mywebsite.com") { 
    ... 
} 

另一種選擇是在服務器上完成所有工作。

<?php 
if ($_SERVER['SERVER_NAME'] == 'mywebsite.com') { 
?> 
<label for="qty"><?php echo $this->__("Qty:") ?></label> 
    <input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getProductDefaultQty() * 1 ?>" title="<?php echo $this->__("Qty") ?>" class="input-text qty" /> 
<?php } else { 
?> 
<label for="qty"><?php echo $this->__(' ') ?></label> 
    <input type="hidden" name="qty" id="qty" maxlength="12" value="<?php echo $this->getMinimalQty($_product) ?>" title="<?php echo $this->__("Qty") ?>" class="input-text qty" /> 
<?php } 
+0

問題是,我在IF語句中發出了一個警告,並且它的工作原理,但是因爲我在If和Else中包含'doucment.write',它只顯示Else關於我是哪個頁面因爲我想根據特定的URL更改內容 – PhpDude

+0

爲什麼你在JS中這樣做呢?在PHP中執行:'if($ _SERVER ['SERVER_NAME'] =='mywebsite.com'){echo ...} else {echo ...}' – Barmar

0

window.location.href返回完整的URL包括協議(所以http://www.mywebsite.com)。

您可以提醒window.location.href的值以準確查看它返回的內容,並更新if語句以匹配它。

+0

的事情是,我把警報IM IF語句和它的工作,但因爲我包含在如果'doucment.write'和否則它只顯示否則關於我的頁面上,我想根據特定的URL更改內容 – PhpDude