2013-08-06 40 views
-1

夥計們,你們能幫我在JavaScript中創建簡單的函數嗎? 我需要更改表單值中顯示的值。比如從我點擊我想將它移動到這樣的輸入值基於Javascript onClick函數 - 將文本複製到輸入值

<span id="copy" onClick="addValue()">**Text1**</span> 
<span id="copy" onClick="addValue()">Text2</span> 

<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> 

當我點擊文本1價值FILD我得到的,而不是「文本1」,「不確定」 ......

+1

請解釋這多一點。我不知道什麼是在哪裏,或者什麼在改變,什麼時候或者爲什麼。 – 2013-08-06 23:28:30

+1

在提出問題之前,請先討論您已完成的研究。顯示你嘗試過的代碼會很棒。 – 2013-08-06 23:29:18

回答

1

給這個一展身手。

您需要將該元素傳遞給您的函數,以便您可以訪問它的屬性以將它們分配給您的表單輸入。

HTML:

<form name="myForm"> 
    <span onclick="copyText(this)" >Text1</span>, <span onclick="copyText(this)" >Text2</span> 
    <br> 
    <input name="myField"></input> 
</form> 

的Javascript:

function copyText(element) { 
    document.myForm.myField.value = element.innerHTML; 
} 
+0

工作得很好:>謝謝 – DevWL

0
document.myForm.myField.value = "I'm a different value now!"; 

這是你在找什麼?

形成和輸出應該有一個 「名稱」 屬性,如:

<form name="myForm"> 
    <input name="myField" /> 
在上述情況

1

我會使用:

function addValue(el) { 
    document.getElementById('paste').value = el.innerText || el.textContent || el.outerText; 
} 

,並設置HTML標記,像這樣:

<span id="copy" onClick="addValue(this)">**Text1**</span> 
+0

我得到「未定義」;( – DevWL

+0

函數調用在HTML屬性中定義的事件處理程序不能訪問元素或事件對象,除非它們被明確地傳遞給函數,HTML需要更改爲'onclick =「 addValue.call(this,event)「'。 – gilly3

+0

不,括號當然是必需的。事件處理函數的屬性值是在元素上下文中調用的函數的主體,並傳遞了一個名爲'event'的事件對象參數 – gilly3

相關問題