将HTML链接添加到文本输入框中?

时间:2012-08-03 16:34:34

标签: javascript jquery html

我正在尝试使用以下jQuery将HTML链接添加到输入框:

var E = "<a class='tagged_person' contenteditable='false' href='http://www.google.com'>Click This</a>";
$("input[name='newComment']").val(E);

哪个有效,但它实际上显示了<a href...,这是我想要后端明智的,但在前端,我希望用户将其视为呈现为HTML <a>链接。就像在Facebook / Twitter上一样,你可以标记用户,然后就是一个链接。

2 个答案:

答案 0 :(得分:3)

我认为你正在寻找JQuery方法.append。这允许您传递一串HTML并将其解析为DOM。 Check it out here

例如:

$('#myDiv').append('<a href="www.google.com">Search for it!</a>');

还有.appendTo()如果它更适合你的审美。

编辑:如果你试图将html字面上作为文本输入的值,那么就不能这样做。 <input type="text">携带文字,就是这样。您必须创建自己的输入表单,或使用JQuery插件。为什么你想要在表单输入中有链接呢?当然,您可以通过不同的事件处理程序单击表单时重定向用户,但输入是输入。如果它重定向,那么你首先不需要输入。

答案 1 :(得分:0)

您可以使用以下代码,选择它时将在新窗口中打开链接。

<form action="../">
<select name="myDestination">
    <option value="http://www.website1.com/">Website 1</option>
    <option value="http://www.google.com/">GOOGLE</option>
</select>
<input type="button"
    value="Open in New Window!"
    onclick="ob=this.form.myDestination;window.open(ob.options[ob.selectedIndex].value)">
</form>

或者无需按下按钮:

<form action="../">
  <select onchange="window.open(this.options[this.selectedIndex].value,'_top')">
    <option value="">Choose a destination...</option>
    <option value="http://www.website1.com/">Website 1</option>
    <option value="http://www.google.com/">GOOGLE</option>
  </select>
</form>

还创建了一个jsfiddle来演示:jsFiddle