繁体   English   中英

为什么我不能通过javascript更改文本字段的值?

[英]why i can't change value of a text field by javascript?

我尝试通过标签名称获取我的标签并更改多数民众赞成的价值,您能帮助我找到为什么这不起作用吗?

 var r_capacity=document.getElementsByName("capacity"); function expireOtherFildes(){r_capacity.value="";} 
 ID: <input type="text" name="id" class="textBox" onFocus="expireOtherFildes()"/> capacity: <input type="text" name="capacity" value="xxx"/> 

您需要使用此:

var r_capacity=document.getElementsByName("capacity")[0];

document.getElementsByName("capacity")返回一个nodeList 可以通过索引号访问节点。

 var r_capacity=document.getElementsByName("capacity")[0]; function expireOtherFildes(){r_capacity.value="";} 
 ID: <input type="text" name="id" class="textBox" onFocus="expireOtherFildes()"/> capacity: <input type="text" name="capacity" value="xxx"/> 

document.getElementsByName返回数组。 您可以按索引访问它。请参考以下内容-

 var r_capacity=document.getElementsByName("capacity"); function expireOtherFildes(){ r_capacity[0].value=""; } 
 ID: <input type="text" name="id" class="textBox" onFocus="expireOtherFildes()"/> capacity: <input type="text" name="capacity" value="xxx"/> 

您需要使用

var r_capacity = document.getElementsByName("capacity")[0];

因为var r_capacity = document.getElementsByName("capacity"); 它返回一个nodeList ,您可以使用index 0来访问它:

 var r_capacity = document.getElementsByName("capacity")[0]; console.log(r_capacity); function expireOtherFildes() { r_capacity.value = ""; } 
 ID: <input type="text" name="id" class="textBox" onFocus="expireOtherFildes()" />capacity: <input type="text" name="capacity" value="xxx" /> 

更好的方法是使用querySelector() ,这样可以避免遇到您遇到的问题:

  var r_capacity = document.querySelector("input[name='capacity']"); console.log(r_capacity); function expireOtherFildes() { r_capacity.value = ""; } 
 ID: <input type="text" name="id" class="textBox" onFocus="expireOtherFildes()" />capacity: <input type="text" name="capacity" value="xxx" /> 

document.getElementsByName()返回NodeList的数组。 您需要选择第一个索引,或直接切换到document.getElementById()

 var r_capacity=document.getElementsByName("capacity")[0]; //-^^^ console.log(r_capacity); function expireOtherFildes(){r_capacity.value="";} 
 ID: <input type="text" name="id" class="textBox" onFocus="expireOtherFildes()"/> capacity: <input type="text" name="capacity" value="xxx"/> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM