Javascript onclick函数无法触发

时间:2014-02-18 22:08:30

标签: javascript function onclick

我正在尝试使用Vanilla Javascript创建一个小的浏览器待办事项列表应用程序,因为我想摆脱框架心态。我写了一个非常基本的函数,当单击一个按钮时,它基本上会在警告窗口中输出文本字段的值,但由于某种原因我无法使其工作。多年来我没有做过香草javscript,所以我必须错过一些非常愚蠢的东西,我发现这可能是一个非常简单的问题,但是我不知道这有什么问题。

我附上了一个包含我所有代码的小提琴。 http://jsfiddle.net/HD9A8/

正如我所提到的,我想用Vanilla Javascript做这个,但我现在只是有一个完整的心理障碍。

非常感谢任何帮助。

J

3 个答案:

答案 0 :(得分:0)

您应该像这样定义onclick函数..

btn.onclick = addRecord;

供参考:http://www.w3schools.com/jsref/event_onclick.asp

答案 1 :(得分:0)

问题在于将事件联系起来 - 我回顾了Chrome Dev Tools的小提琴。这是我过去在开发vanilla js而不使用框架时遵循的方法。

function addEvent(element, evnt, funct){
      if (element.attachEvent)
        return element.attachEvent('on'+evnt, funct);
     else
        return element.addEventListener(evnt, funct, false);
 };

 addEvent(document.getElementById('addRecord')
    , 'click'
    , addRecord
 );

 function addRecord(){
    var title = document.getElementById('title');
    alert(title.value);
 }

看看这个小提琴:http://jsfiddle.net/rnewsome/HD9A8/1/

答案 2 :(得分:0)

您需要为按钮单击(使用等号)

指定一个功能

请尝试以下任一方法:

var btn = document.getElementById('addRecord');
btn.onclick = addRecord;

function addRecord(){
    var title = document.getElementsByName('title');
    alert(title.value);
}

我放在http://jsfiddle.net/HD9A8/2/

document.getElementById('addRecord').onclick = function(){
    var title = document.getElementsByName('title');
    alert(title.value);
}

位于http://jsfiddle.net/HD9A8/3/