是否有任何方法允许在输入字段中使用链接/锚定,以便字段中的任何文本也可以单击并执行操作?

最佳答案

不幸的是,这在HTML 4或更低版本中是不可能的。即使HTML5有几个新的输入类型,包括URL,它也只做验证,并有一些其他有用的功能,但不会给你想要的。
您可能会寻找一些jQuery插件来帮助您做到这一点,大多数插件在富文本或其他基于在线/网络的HTML WYSIWYG编辑器后面使用相同的主体。我自己找不到他们。
这三种情况(我现在可以想到)基本上就是你在HTML4或更低版本中会遇到的,因为实际HTML4输入文本框中的文本是纯文本。它不是html,因此不可点击。以下是一些变体:
输入标记的VALUE属性,也被引用为对应的DOM对象的“VALUE”属性(这基本上是您一直在做的,也是您所希望的,如果您决定必须将文本实际放在文本框中(因为文本框中的文本是VALUE属性,正如我在本例中用“http://yahoo.com”表示的那样:

    <input id="myTxtbox" type="text" value="http://yahoo.com">

其中输入的值=“http://yahoo.com”,可以使用以下命令检索:
在纯javascript中:
document.getElementById("myTxtbox").value
在jQuery中:
$("myTxtBox").val()
当链接/url是<INPUT></INPUT>之间的文本时,即文本框的文本/内部文本。这对您的问题/场景没有用处,因为它不可单击,更重要的是不在文本框中。但是,有人可能希望使用此项检索您可能用作标签的任何文本(如果您尚未使用<label>标记本身,则为):
<input id="myTxtbox" type="text">
  http://yahoo.com
</input>

文本框的text/innerText在这里不是一个属性,只是一个DOM对象属性,但仍然可以检索:
纯javascript:
document.getElementById("myTxtbox").innerText
查询:
$("myTxtBox").text()--您可以使用此选项来覆盖任何可能用作标签的文本(如果不使用标记)。
结果是:http://yahoo.com
当您的链接/url是锚(<A>)的形式时,在<INPUT></INPUT>之间有一个指向您的url(和可见链接文本)的ref,即文本框的内部html。这是越来越接近你想要的,因为链接将显示为,并作为一个实际的链接功能。但是,它不会在文本框中。它将沿着它的边,如例2所示。同样,如示例1所述,您不能有实际工作的HTML,因此文本框内有一个工作的“链接”:
<input id="myTxtbox" type="text">
  <a href="http://yahoo.com">
    http://yahoo.com
  </a>
</input>

同样,与示例2类似,文本框的innerHTML在这里不是一个属性,只是一个DOM对象属性,但仍然可以检索:
纯javascript:
document.getElementById("myTxtbox").innerHTML
查询:
$("myTxtBox").html()
结果是:<a href="http://yahoo.com">http://yahoo.com</a>

关于html - 在<INPUT>字段中创建/放置 anchor <A HREF>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22973656/

10-08 21:54