无法让我的window.location在echo标签内工作

时间:2011-02-15 19:18:27

标签: php

echo "<form><input type='button' value='$back_label' onclick='window.location="'$url'"'/></form>";

当谈到window.location代码时,我无法想象整个单引号和双引号,因为它有一组额外的单引号来环绕url。我不知道该怎么做。我试图逃避报价。

此外,您可以使用此方法的相对路径吗?

由于

4 个答案:

答案 0 :(得分:4)

试试这个

 echo "<form><input type='button' value='$back_label' onclick='window.location=\"$url\"'/></form>";

关于http://codepad.org/K7AafokT

的工作示例

答案 1 :(得分:1)

你可以把它从PHP上下文中删除吗?

    <?php $url = 'http://www.yourdomain.com'; ?>
    <form>
      <input type='button' value='<?php echo $back_label;?>' onclick='window.location="<?php echo $url;?>"'/>
    </form>

答案 2 :(得分:1)

只需将结尾处的引号更改为onclick='window.location="$url"'/>

echo "<form><input type='button' value='$back_label'
onclick='window.location="$url"'/></form>";

答案 3 :(得分:0)

我相信符合HTML'标准'几乎所有属性都必须使用双引号,而对于javascript,您需要封装网址:

echo '
    <form>
        <input type="button" value="'.$back_label.'" onclick="window.location=\''.$url.'\'" />
    </form>';

修改

更简洁的方法是使用heredoc syntax,因为它不需要转义:

echo <<<EOL
        <form>
            <input type="button" value="$back_label" onclick="window.location='$url'" />
        </form>';
EOL;

<强>更新

你可以进入一个目录结构,我只是做了一个快速测试,它似乎也可以在层次结构中运行。