<td><input type="submit" onClick="window.location.href='https://www.'.$myVariable.'.test.com'" value="Click!"></td>
我有一个按钮应该转到 8 个可能的 url 中的 1 个 - 我有获取变量的逻辑,但我似乎在这里遇到了问题。我收到一条错误消息,说
Unresolved Variable: $myVariable
这是因为我在 HTML 表中吗?
我什至尝试在琴弦之间使用.<?=$myVariable?>.
,但仍然不起作用。我错过了一些明显的东西吗?
只需在一个字符串中输出 php 变量:
<td><input type="submit" onClick="window.location.href='https://www.<?php=$myVariable; ?>.test.com'" value="Click!"></td>
如果未启用短标记,请使用<?=$myVariable?>
或<?php=$myVariable?>
。
<td><input type="submit" onClick="window.location.href='https://www.<?=$myVariable?>.test.com' value="Click!"></td>
另一种选择是使用 heredoc(我最喜欢的(来包含html
和php
代码,这样您就不必担心quotes
或concatenation
即:
<?php
echo <<< LOL
<td><input type="submit" onClick="window.location.href='https://www.{$myVariable}.test.com'" value="Click!"></td>
LOL;
试试这个:
<td><input type="submit" onClick="window.location.href=<?php echo "'https://www.".$myVariable.".test.com'"; ?>" value="Click!"></td>
只需对变量字符串进行 php echo 即可。
由于连接,您变得复杂,所以我将拆分它们。
<?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 进行一些处理,你需要捕获<form>
元素的onsubmit
(return false
该属性,否则表单无论如何都会提交(。
正在使用Javascript进行重定向,阻止表单提交(严格来说,您正在重定向并提交,但不等待它完成,这可能会导致问题(。