我有一个超链接和一个图像,我想在点击它时在文本框中添加链接的文本。
我现在有这个:但我无法弄清楚如何在文本框中输入名称。
<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" />
结果未定义。举个例子。链接文本是“zwaar onweer”。单击此文本的超链接时,TEXT“zwaar onweer”应出现在文本框中。
有人可以帮助我吗?
谢谢!
答案 0 :(得分:1)
请在代码中尝试以下更改。
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" />
答案 1 :(得分:1)
我抓了几分钟想知道为什么这里的简单答案对我不起作用。事实证明,因为您在链接中重复了ID并输入了它是我的错误的来源。
的问题:
url
变量无意义。摆脱它。使用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 强>
答案 2 :(得分:0)
如何只为输入框分配值。您可以使其与链接的ID匹配,并使用jquery从中获取文本。
function insertText()
{
var url = $('#melding').text();
$('input[name="melding"]').val(url);
}
应该有效,这是jfiddle
答案 3 :(得分:0)
首先是document.getElementById
其次必须有
没有重复的ID
并且更改
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" />
答案 4 :(得分:-2)
您需要先将变量值存储在变量中。此外,您需要为您的元素添加不同的ID。假设您的超链接ID是&#34; a&#34;你的文本框ID是&#34; tb&#34;。那你就有了
function insertText()
{
var url= document.getElementById("a").value;
var textboxValue= document.getElementById("tb");
textboxValue.value= url;
}