从javascript添加onclick到标记

时间:2015-05-08 08:41:59

标签: javascript forms onclick

我正在使用javascript创建表单。我必须将onclick放在a标签上以便在单击时调用方法。我这样做,但它没有出现在onclick上。

function remPass() {
        var log = document.getElementById("login");
        var form = document.createElement('form');
        form.method = "post";
        form.action = "";
        log.appendChild(form);
        var input = document.createElement('input');
        input.type = "text";
        input.name = "username";
        input.className = "username";
        input.placeholder = "Usuario";
        var a = document.createElement('a');
        a.className = "bt-enter pink";
        a.id = "recordar";
        a.href = "#";
        a.onclick = "remember()"; //Here is the problem
        a.innerHTML = "Recordar contraseña";
        form.appendChild(input);
        form.appendChild(a);
    }

5 个答案:

答案 0 :(得分:5)

您需要使用方法,而不是方法的结果,也不需要字符串

a.onclick = remember;

不要忘记创建

function remember(){
  //some code
}

答案 1 :(得分:4)

正确的做法就是那样

  a.onclick = remember; //do like that

  var remember = function(){
           //remember logic..
  };

答案 2 :(得分:2)

正确的方法是

  a.onclick = remember; //without double quotes

  var remember = function(){
           //more code here...
  };

答案 3 :(得分:1)

在创建标记时,您应该使用setAttribute方法设置标记的属性/属性:

var a = document.createElement('a');
    a.setAttribute("class", "bt-enter pink");
    a.setAttribute("id", "recordar");
    a.setAttribute("href", "#");
    a.setAttribute("onclick ", "remember();");
    a.innerHTML = "Recordar contraseña";

这是跨浏览器创建元素的最有效方法。

答案 4 :(得分:0)

你应该给出一些类型函数而不是字符串:

a.onclick = remember;
//....
var remember = function() {
// remember logic
}