在 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)">
getElementsByName
returnscollection。要从 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);"/>
只是想知道这是否是一个有效的语法。
<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)">
getElementsByName
returnscollection。要从 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);"/>