2016-03-10 120 views
0

我已經搜索了所有我可以。我正在嘗試使用其名稱更改輸入字段的文本。我發現有很多方法可以通過ID這樣做:更改輸入字段抓取名稱

<script> 
    function changeValue(o){ 
document.getElementById('type').value=o.innerHTML; 
} 
</script> 

<button id="technician" onclick="changeValue(this)">Technician</button> 
<button id="developer" onclick="changeValue(this)">Developer</button> 
<input type="text" id="type" name="type" value="change" /> 

但是我需要完成的是沒有ID的輸入。

線沿線的東西:

<script> 
    function changeValue(o){ 
document.getElementsByName('NAME').value=o.innerHTML; 
} 
</script> 

<button id="technician" onclick="changeValue(this)">Technician</button> 
<button id="developer" onclick="changeValue(this)">Developer</button> 
<input type="text" name="NAME" value="change" /> 

有沒有實現這一點的方法嗎?

UPDATE

我想對你們幫助我的JavaScript擴展。

的片段:

<script> 
function changeValue(o){ 
    document.getElementsByName('NAME')[0].value=o.innerHTML; 
} 
</script> 

<span onclick="changeValue(this)" style="cursor: pointer;">One</span> 
<span onclick="changeValue(this)" style="cursor: pointer;">Two</span> 
<img src='image.gif' onclick="changeValue(this.src)" /> 

<input type="text" name="NAME" value="SOMETHING"> 

的跨度都正常工作,雖然我實際上並不需要它們。一旦我明白了這一點,我將擁有所有圖像。

我已經嘗試了幾種方法,但是我能找到的與我的使用沒有直接關係。

最終目標是將img src帶入帶有js的文本輸入中,最好是它已經存在。我覺得它非常接近。

回答

2

getElementsByName()返回一個集合。使用[]訪問單個元素

例如:

function changeValue(o){ 
    document.getElementsByName('NAME')[0].value=o.innerHTML; 
} 
+0

感謝您的快速回答,我正是在尋找它。在我能接受之前還有幾分鐘的時間。但工作很好! –

+0

擴大這個,我將如何去使用IMG和只抓住它的SRC? 不工作=/ –

+0

我想我不完全理解,我查了一些,我只是不能得到它的工作。我放棄按鈕,跨度最終目標是讓圖像執行與按鈕相同的功能。我更新了原始帖子。 –

2

document.getElementsByName('NAME')按名稱返回元素列表。您需要提供索引

document.getElementsByName('NAME')[0].value=o.innerHTML 
+0

感謝您的回覆速度快,這種方法的工作就像魅力。 –

0

jQuery的方式

$('input[name="NAME"]').val("im changed!") 
1

使用document.querySelector像這樣

document.querySelector('input[name="NAME"]').value = o.innerHTML; 
+0

以這種方式使用它有什麼好處? –

+0

這允許您通過名稱來定位輸入,這就是您要求的 – gabesoft

+0

querySelector VS. getElementsByName? –