如何将有效链接插入输入文本框?

时间:2014-12-22 02:00:06

标签: php jquery html

是否可以在输入文本框中插入活动链接?

我尝试在html的值中使用<a>标记,但它不起作用。

<?php $email = "<a href=\"example@link.com\">example@link.com </a>"; ?>   

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

它只返回没有超链接值的文本。

3 个答案:

答案 0 :(得分:5)

这里有几件事是错的......

  1. 你没有逃脱你的报价。因此PHP无效。
  2. 您正在尝试将HTML放在属性中,这也是无效的。
  3. 我可以看到在这里使用的唯一选择是应用了contenteditable="true"的HTML元素。这使得元素(例如<div>)可以修改它的内容。

    <?php $email = "<a href=\"example@link.com\">example@link.com </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>
    

答案 1 :(得分:2)

不,这是不可能的。输入值将始终呈现为纯文本。如果用户不需要编辑链接,我只需将其放在输入旁边。

否则您可能需要查看WYSIWYG编辑器。链接到下面最受欢迎的两个。

TinyMCE

CKEditor

答案 2 :(得分:0)

将它包含在php变量中时,需要转义引号。

<?php $email = "<a href=\"example@link.com\">example@link.com </a>"; ?> 

当您使用双引号时,需要使用反斜杠。

或者,您可以这样写:

 <?php $email = '<a href="example@link.com">example@link.com </a>'; ?> 

如果从单引号开始,则不需要转义双引号。 \

我强烈建议您在需要时阅读转义字符。