在 html 事件处理程序中调用 document.getElementByName.Value

Calling document.getElementByName.Value inside html event handler

只是想知道这是否是一个有效的语法。

<input type="text" name="memtype" value="1" onkeyup="javascript:gettype(document.getElementsByName('memtype').value);>

这将无效,因为 getElementsByName 是一个集合,需要像

一样传递索​​引
document.getElementsByName('memtype')[0]

function gettype(val) {
  console.log(val)
}
<input type="text" name="memtype" value="1" onkeyup="javascript:gettype(document.getElementsByName('memtype')[0].value);">

只需使用 this.value

传递值即可完成相同的操作

function gettype(val) {
  console.log(val)
}
<input type="text" name="memtype" value="1" onkeyup="gettype(this.value)">

getElementsByNamereturnscollection。要从 collection 中获取值,您必须使用特定索引,例如:

document.getElementsByName('memtype')[0].value

但是既然可以写this.value,为什么还要写document.getElementsByName('memtype').value

function getvalue(val){
  console.log(val)
}
<input type="text" name="memtype" value="1" onkeyup="javascript:getvalue(this.value);"/>