JavaScript条件忽略IF

时间:2016-01-22 00:51:46

标签: javascript php

我在url上设置了一个条件语句,我测试了IF和ELSE,它确实使用了一个简单的document.write。但是,我试图输出Php i条件,但它总是输出else语句,Php不是我最强的语言:

<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>

2 个答案:

答案 0 :(得分:1)

window.location.href包含完整的网址。如果您只想查看网址的主机名部分,请使用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 }

答案 1 :(得分:0)

window.location.href会返回包含协议的完整网址(所以http://www.mywebsite.com)。

您可以提醒window.location.href的值,以确切了解它返回的内容,并更新您的if语句以匹配它。