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

时间:2018-02-04 04:46:49

标签: javascript html onkeyup

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

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

2 个答案:

答案 0 :(得分:2)

这将无效,因为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)">

答案 1 :(得分:1)

getElementsByName返回集合。要从该集合中获取值,您必须使用特定索引,例如:

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

但是,当你可以写document.getElementsByName('memtype').value时,为什么要写this.value

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