Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将参数传递给javascript onclick函数。请不要jquery_Javascript - Fatal编程技术网

如何将参数传递给javascript onclick函数。请不要jquery

如何将参数传递给javascript onclick函数。请不要jquery,javascript,Javascript,我已经创建了一个按钮,单击它,我想将属性值传递给函数 <button type="button" name="createTask" id="createTask" class="createButton" onclick="Components.init(this)" >Add Task</button> 但是警告这是未定义的。我如何将参数传递给这个javascript函数。 我已经包括了这个component.js,它在html正文的底部有这个函数 <scr

我已经创建了一个按钮,单击它,我想将属性值传递给函数

<button type="button"  name="createTask" id="createTask" class="createButton" onclick="Components.init(this)" >Add Task</button>
但是警告这是未定义的。我如何将参数传递给这个javascript函数。 我已经包括了这个component.js,它在html正文的底部有这个函数


<script>

var Components = function(){

var attributes;

var _init = function(elm){
    attributes = elm.attributes;
    console.log("Method Executing:Compnents.init")
    console.log(attributes.id.value);        
}

return {
    init:_init,
}

}();

</script>
var组件=函数(){ var属性; var_init=函数(elm){ 属性=elm.attributes; log(“正在执行的方法:components.init”) console.log(attributes.id.value); } 返回{ 初始化:_init, } }();

var组件=函数(){
var属性;
var_init=函数(elm){
属性=elm.attributes;
log(“正在执行的方法:components.init”)
console.log(attributes.id.value);
}
返回{
初始化:_init,
}
}();
试试这个:

组件={
init:函数(组件){
log(“方法执行:Components.init”);
警报(组件id);
}
};
添加任务
尝试以下操作:

组件={
init:函数(组件){
log(“方法执行:Components.init”);
警报(组件id);
}
};
在代码中添加任务

var Components = function(attributes){
按照惯例,以大写字母开头的函数保留给构造函数。把一个生命用括号括起来是很体贴的,所以很明显,它从一开始就是一个生命

变量属性包含在形式参数列表中,这实际上与声明它相同。未向其传递任何参数,因此其值未定义。因此,以下声明不起任何作用

  var attributed = attributes;

由于属性未定义,因此尝试访问id属性将引发错误

  }
  return {
    init:_init,
  }
后面有一个逗号(,),是语法错误。始终使用分号也是一个好主意

}()
啊,最后,这是一种生活

代码的固定版本:

var components = (function() {
  var _init = function(attributes) {
    console.log("Method Executing:Compnents.init");
    alert(attributes.id);      
  };
  return {
    init:_init
  };
}());
并且必须更改调用以反映新函数名:

<button id="createTask" onclick="components.init(this)" >Add Task</button>
在代码中:

var Components = function(attributes){
按照惯例,以大写字母开头的函数保留给构造函数。把一个生命用括号括起来是很体贴的,所以很明显,它从一开始就是一个生命

变量属性包含在形式参数列表中,这实际上与声明它相同。未向其传递任何参数,因此其值未定义。因此,以下声明不起任何作用

  var attributed = attributes;

由于属性未定义,因此尝试访问id属性将引发错误

  }
  return {
    init:_init,
  }
后面有一个逗号(,),是语法错误。始终使用分号也是一个好主意

}()
啊,最后,这是一种生活

代码的固定版本:

var components = (function() {
  var _init = function(attributes) {
    console.log("Method Executing:Compnents.init");
    alert(attributes.id);      
  };
  return {
    init:_init
  };
}());
并且必须更改调用以反映新函数名:

<button id="createTask" onclick="components.init(this)" >Add Task</button>

你似乎在按错误的顺序做事<代码>属性
参数应该在内部函数中,当然?您在哪里查阅了外部文件?和组件。init(这个)你能解释一下吗?@NiettheDarkAbsol,我正在创建一个闭包,其中内部函数可以访问外部函数variable@Dnyanesh你似乎在按错误的顺序做事<代码>属性
参数应该在内部函数中,当然?您在哪里查阅了外部文件?和组件。init(这个)你能解释一下吗?@NiettheDarkAbsol,我正在创建一个闭包,其中内部函数可以访问外部函数variable@Dnyanesh_init函数需要一个参数。。您正在传递到init。在原始代码中,您应该将Components=function()中的“attributes”删除为_init=function(attributes)@Joenesy这是一个closureCode–只有答案没有多大帮助。您应该解释OP的问题以及如何着手解决它,然后展示一些代码。。您正在传递到init。在原始代码中,您应该将Components=function()中的“attributes”删除为_init=function(attributes)@Joenesy这是一个closureCode–只有答案没有多大帮助。您应该解释OP的问题以及如何着手解决它,然后展示一些代码。