Javascript 从 link 到文本框的文本

Javascript Text from link to text box

我有一个hyperlink和一张图片,我想在点击它的时候在文本框上添加link的文字。

我现在有了这个:但我不知道如何在文本框中获取名称。

<script language="javascript">
<!--
function insertText()
{   
    var url;
    document.meldformulier.melding.value = url;
}
//-->
</script>

<a id="melding" onClick="insertText()"; href="javascript:void;">Zwaar onweer</a>

<input id="melding" name="melding" type="text" size="35" readonly="readonly" />

结果未定义。举个例子。 link 文本是 "zwaar onweer"。单击此文本的 hyperlink 时,文本 "zwaar onweer" 应出现在文本框中。

有人可以帮助我吗?

谢谢!

您需要先将 link 的值存储在一个变量中。此外,您的元素需要不同的 ID。假设你的 hyperlink 的 id 是 "a" 而你的 textbox 的 id 是 "tb"。那么你将拥有

function insertText()
{   
  var url= document.getElementById("a").value;
  var textboxValue= document.getElementById("tb");
  textboxValue.value= url;
}

请尝试对您的代码进行以下更改。

Javascript

 function insertText(obj) 
{
    document.getElementById('txtmelding').value = obj.innerText;
 }

HTML代码

 <a id="melding" onclick="insertText(this)" href="javascript:void;">Zwaar onweer</a>
<input id="txtmelding" name="txtmelding" type="text" size="35" readonly="readonly" />

给输入框赋值怎么样?您可以使其与您的 link 的 ID 匹配,并使用 jquery.

从中获取文本
function insertText()
{   
var url = $('#melding').text();
    $('input[name="melding"]').val(url);
}

应该可以,这里是 jfiddle

我挠头了几分钟,想知道为什么这里的简单答案对我不起作用。事实证明,由于您在 link 中重复了 ID,并输入它是我错误的根源。

问题:

  1. 您重复了 ID。那是不行的。
  2. 您的 url 变量没有意义。摆脱它。

像这样将对 link 的引用传递给函数,使用 this:

<a onClick="insertText(this)" href="javascript:void(0)">Zwaar onweer</a>

并将您的函数更改为:

function insertText(txt) {
    document.getElementById('melding').value = txt.innerHTML;
}

在该函数中,使用 txt 参数引用传入的锚点,并使用 innerHTML 属性 获取文本并将其放入输入中。

jsFiddle example

首先是document.getElementById其次一定是

no duplicate ID's

变化是

function insertText(txt) {
    document.getElementById('melding').value = txt.innerHTML;
}
<a onClick="insertText(this)" href="javascript:void(0)">Zwaar onweer</a>

<input id="melding" name="melding" type="text" size="35" readonly="readonly" />