2016-05-02 181 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重定向(嚴格來說,您正在重定向並提交,但並未等待它完成,這可能會導致問題)。