如何传递链接锚文本

时间:2013-05-20 15:40:04

标签: javascript forms syntax anchor hyperlink

我是Javascript的新手,我问了几个Javascript朋友,他们似乎没有答案。我一直在用PHP开发一个简单的搜索查询,它输出了几个结果,例如:

<a href="#" onclick="injectForm(this);">Result Text Here</a>
<a href="#" onclick="injectForm(this);">Result Text 2 Here</a>
<a href="#" onclick="injectForm(this);">Result Text 3 Here</a>


<form id="form1" name="form1" method="post" action="">
<label for="textfield"></label>
<input type="text" name="textfield" id="textfield" />Search
</form>

injectForm的伪代码();

  • 抓住刚刚点击的链接的.value
  • 将其传递给变量,即result =(某事).value
  • set form1.textfield.value = result

我想做的是有一个简单的injectForm()函数,它读取结果的值“Anchor Text Here”所以当有人点击它时 - 它会将值“Result Text Here”丢弃到“文本字段“在表单中。我相信你可以用DOM做到这一点 - 我不想使用任何JS库,如Jquery。

有人有想法吗?如果我为每个href使用不同的DIV或SPAN标记,你可以使用DOM - 如果可能的话,我不想用不同的div或类对每个结果进行编号 - 只需读取相对的this();有点儿。

1 个答案:

答案 0 :(得分:0)

非常简单

Live Demo

function injectForm(theLink) {
  document.getElementById("textfield").value=theLink.innerHTML;
  return false;// cancel the click
}


<a href="#" onclick="return injectForm(this);">Result Text 1 Here</a>
<a href="#" onclick="return injectForm(this);">Result Text 2 Here</a>
<a href="#" onclick="return injectForm(this);">Result Text 3 Here</a>