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,并输入它是我错误的根源。
问题:
- 您重复了 ID。那是不行的。
- 您的
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
属性 获取文本并将其放入输入中。
首先是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" />
我有一个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,并输入它是我错误的根源。
问题:
- 您重复了 ID。那是不行的。
- 您的
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
属性 获取文本并将其放入输入中。
首先是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" />