javascript onclick 函数变量未定义
javascript onclick function variable undefined
我有一个 javascrpt onclick 函数,但它说变量未定义,onclick 来自标签
<a href="#" title="Click to select" rowno="'+NROW+'" name="'+NAME+'" onClick="remname(rowno,name);"></a>
我收到一条错误消息说 'rowno' 未定义
然而,这只发生在 IE11 IE7 完美运行,运行 功能
javascript :
function remname(NAME,ROW)
{
if (confirm('Remove registration entry '+NAME+'?'))
{
***FUNCTION USING ANOTHER SYSTEM***
}
}
写在onclick属性中的代码部分在函数中运行,其中this引用onclick属性所属的元素。任何其他非全局变量(在您的情况下 rowno 和 name)将是未定义的。因此,您可以使用 this
引用来访问具有名为 getAttrubute()
的方法的 DOMElement 来获取属性值,如下所示:
remname(this.getAttribute('rowno'), this.getAttribute('name'))
但是,我也建议使用事件侦听器而不是 on* 属性。那将是一种更好、更容易维护的做法。
HTML
<a href="#" id="magicAnchor" title="Click to select" rowno="'+NROW+'" name="'+NAME+'"></a>
JavaScript
document.getElementById('magicAnchor').addEventListener('click', function() {
if (confirm('Remove registration entry '+ this.getAttribute('name') +'?'))
{
***FUNCTION USING ANOTHER SYSTEM***
// to access rowno attribute use: this.getAttribute('rowno')
}
});
您可以稍后在 rename() 函数中访问它们,而不是传递变量,例如
var remname=function(){
var rowno=document.getElementById("selectme").getAttribute("data-rowno");
var NAME=document.getElementById("selectme").getAttribute("data-name");
console.log(rowno+' '+NAME);
}
这里是html
<a href="#" id="selectme" title="Click to select" data-rowno="'+NROW+'" data-name="'+NAME+'" onclick="remname()">abc</a>
我有一个 javascrpt onclick 函数,但它说变量未定义,onclick 来自标签
<a href="#" title="Click to select" rowno="'+NROW+'" name="'+NAME+'" onClick="remname(rowno,name);"></a>
我收到一条错误消息说 'rowno' 未定义
然而,这只发生在 IE11 IE7 完美运行,运行 功能
javascript :
function remname(NAME,ROW)
{
if (confirm('Remove registration entry '+NAME+'?'))
{
***FUNCTION USING ANOTHER SYSTEM***
}
}
写在onclick属性中的代码部分在函数中运行,其中this引用onclick属性所属的元素。任何其他非全局变量(在您的情况下 rowno 和 name)将是未定义的。因此,您可以使用 this
引用来访问具有名为 getAttrubute()
的方法的 DOMElement 来获取属性值,如下所示:
remname(this.getAttribute('rowno'), this.getAttribute('name'))
但是,我也建议使用事件侦听器而不是 on* 属性。那将是一种更好、更容易维护的做法。
HTML
<a href="#" id="magicAnchor" title="Click to select" rowno="'+NROW+'" name="'+NAME+'"></a>
JavaScript
document.getElementById('magicAnchor').addEventListener('click', function() {
if (confirm('Remove registration entry '+ this.getAttribute('name') +'?'))
{
***FUNCTION USING ANOTHER SYSTEM***
// to access rowno attribute use: this.getAttribute('rowno')
}
});
您可以稍后在 rename() 函数中访问它们,而不是传递变量,例如
var remname=function(){
var rowno=document.getElementById("selectme").getAttribute("data-rowno");
var NAME=document.getElementById("selectme").getAttribute("data-name");
console.log(rowno+' '+NAME);
}
这里是html
<a href="#" id="selectme" title="Click to select" data-rowno="'+NROW+'" data-name="'+NAME+'" onclick="remname()">abc</a>