2016-05-02 127 views
1
<td><input type="submit" onClick="window.location.href='https://www.'.$myVariable.'.test.com'" value="Click!"></td> 

我有一个按钮,应该去8个可能的网址之一 - 我有逻辑来获得变量,但我似乎遇到了问题在这里。我得到一个错误,说PHP连接URL变量字符串

Unresolved Variable: $myVariable 

这是因为我在一个HTML表格?

我甚至尝试使用.<?=$myVariable?>.之间的字符串,仍然没有工作。我错过了明显的东西吗?

+1

尝试检查页面加载后的元素,并在呈现后看到该按钮链接... –

回答

3

一个字符串中只输出PHP变量:

<td><input type="submit" onClick="window.location.href='https://www.<?php=$myVariable; ?>.test.com'" value="Click!"></td> 
+0

它的工作!谢谢,这个解决方案完全覆盖了我的脑袋,甚至没有想到它哈哈 – Havoux

3

使用<?=$myVariable?><?php=$myVariable?>如果你没有短标签启用。

<td><input type="submit" onClick="window.location.href='https://www.<?=$myVariable?>.test.com' value="Click!"></td> 

另一种选择是使用heredoc(我的最爱),以包括htmlphp代码,这样你就不必关心约quotesconcatenation即:

<?php 
echo <<< LOL 
<td><input type="submit" onClick="window.location.href='https://www.{$myVariable}.test.com'" value="Click!"></td> 
LOL; 
0

试试这个:

<td><input type="submit" onClick="window.location.href=<?php echo "'https://www.".$myVariable.".test.com'"; ?>" value="Click!"></td> 

只要做PHP回声您的变量字符串。

0

因为连接而变得复杂,所以我只是将它们分开。

<?php 
    $fullUrl = "https://www.{$myVariable}.test.com"; // Repeat for every variable 
    $locationHref = "window.location.href='{$fullUrl};'"; 
?> 

<td> 
    <input type="submit" onClick="<?=$locationHref; ?>" value="Click!" /> 
</td> 

一点题外话,如果你想停止正常提交表单的和实际做的AJAX一些处理,你需要捕捉onsubmit<form>元素(和return false该属性上,或窗体将无论如何提交)。

现在,您使用阻止表单提交的JavaScript重定向(严格来说,您正在重定向并提交,但并未等待它完成,这可能会导致问题)。