Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript onClick函数-将文本复制到输入值_Javascript_Text_Onclick - Fatal编程技术网

Javascript onClick函数-将文本复制到输入值

Javascript onClick函数-将文本复制到输入值,javascript,text,onclick,Javascript,Text,Onclick,伙计们,你们能帮我用JavaScript创建简单的函数吗? 我需要更改表单值中显示的值。比如说 <span id="copy" onClick="addValue()">**Text1**</span> <span id="copy" onClick="addValue()">Text2</span> **Text1** 文本2 根据我单击的内容,我希望将其移动到输入值,如下所示: <input id="paste" class="tex

伙计们,你们能帮我用JavaScript创建简单的函数吗? 我需要更改表单值中显示的值。比如说

<span id="copy" onClick="addValue()">**Text1**</span>
<span id="copy" onClick="addValue()">Text2</span>
**Text1**
文本2
根据我单击的内容,我希望将其移动到输入值,如下所示:

<input id="paste" class="text" type="input" name="select" value="**Text1**"/>

我的函数应该是什么样子的

<script language="javascript" type="text/javascript">   
    <!--Hide Javascript         
      function addValue(){
         document.getElementById('paste').value = this.innerText;       
     }  
 -->  </script>

当我点击value fild中的Text1时,我得到的是“未定义”而不是“Text1

这就是你要找的吗

表单和输入应具有“name”属性,如:

<form name="myForm">
    <input name="myField" />

在上述情况下。

我会使用:

 function addValue(el) {
     document.getElementById('paste').value = el.innerText || el.textContent || el.outerText;
 }
并按如下方式设置HTML标记:

 <span id="copy" onClick="addValue(this)">**Text1**</span>
**Text1**
试试看

您需要将元素传递到函数中,以便可以访问其属性以将其分配给表单输入

HTML:


请再解释一下。我不知道什么在哪里移动,什么在改变,什么时候改变,为什么改变。请在提问之前讨论一下你在这方面所做的研究。显示您尝试过的代码非常好。从HTML属性中定义的事件处理程序调用的函数没有访问元素或事件对象的权限,除非它们显式传递给函数。HTML需要更改为
onclick=“addValue.call(this,event)”
。不,括号是必需的。事件处理程序的属性值是在元素上下文中调用并传递名为
event
的事件对象参数的函数体。这现在简单多了。很好:>谢谢
 <span id="copy" onClick="addValue(this)">**Text1**</span>
<form name="myForm">
    <span onclick="copyText(this)" >Text1</span>, <span onclick="copyText(this)" >Text2</span>
    <br>
    <input name="myField"></input>
</form>
function copyText(element) {
   document.myForm.myField.value = element.innerHTML;
}