2014-12-22 66 views
4

是否可以將活動鏈接插入輸入文本框?如何將活動鏈接插入輸入文本框?

我試過在HTML的值內使用<a>標籤,但它不起作用。

<?php $email = "<a href=\"[email protected]\">[email protected] </a>"; ?> 

<input type="text" id="email" name="email" value="<?php echo $email; ?>"> 

它只返回沒有超鏈接值的文本。

+3

需要了解字符串中的轉義引號 – charlietfl

+0

哦,對不起。我忘了逃避報價。我已經編輯它。但有可能嗎? – ffrenzi

+0

你的期望到底是什麼? – charlietfl

回答

2

不,這是不可能的。輸入值將始終呈現爲純文本。如果用戶不需要編輯鏈接,我只會把它放在輸入旁邊。

否則,您可能需要查看所見即所得的編輯器。下面兩個最流行的鏈接。

TinyMCE

CKEditor

+0

我明白了。非常感謝。 – ffrenzi

5

一對夫婦的事都錯了......

  1. 你不會逃避你的報價。所以PHP是無效的。
  2. 您試圖將HTML放在屬性中,這也是無效的。

我可以看到這裏使用的唯一替代方法是應用contenteditable="true"的HTML元素。這使得它成爲一個元素(可以說是一個<div>)可以修改它的內容。

<?php $email = "<a href=\"[email protected]\">[email protected] </a>"; ?> 
<div id="fake-email" contenteditable="true"><?php echo $email; ?></div> 

然後,如果您正在執行表單,請參閱此related question

編輯:

如果你正在試圖做的一種形式,那麼這是一個例子:

document.getElementById("form").onsubmit = function(){ 
    document.getElementById("email").value = 
    document.getElementById("fake-email").innerText || document.getElementById("fake-email").textContent; 
} 

當你的形式是:

<form action="..." method="..." id="form"> 
    <div id="fake-email" contenteditable="true"></div> 
    <input type="hidden" id="email" name="email" /> 
</form> 
+0

沒有必要在你創建的每個答案中提醒用戶接受它 – charlietfl

+0

@charlietfl OP是新的,這是他們的第一個問題,通常新手不接受沒有通知的答案。 –

+0

他們會被提醒,仍然不是您正在做的事情的常用做法 – charlietfl

0

您需要在將它包含在你的php變量中時避開引號。

<?php $email = "<a href=\"[email protected]\">[email protected] </a>"; ?> 

當您使用雙引號時,您需要使用反斜槓。

或者,你可以把它寫成這樣:

<?php $email = '<a href="[email protected]">[email protected] </a>'; ?> 

如果你開始用單引號,那麼你不需要逃脫雙引號。 \

我強烈建議您在需要時閱讀轉義字符。