2016-03-10 121 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? –