Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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 JS addEventListener不工作_Javascript_Addeventlistener - Fatal编程技术网

Javascript JS addEventListener不工作

Javascript JS addEventListener不工作,javascript,addeventlistener,Javascript,Addeventlistener,我为这个简单的问题提前道歉,但是时间太晚了,我不想睡觉,直到我让它工作…我知道我的大脑已经麻木了,因为我在过去的几个小时里一直在做其他的事情 基本上,我只是想让submit按钮调用add()函数,方法是使用addEventListener对其进行赋值。当我单击按钮时,它将清除表单,但不执行任何其他操作。如果我填写字段,然后在Chrome的JS控制台中调用add(),它工作得很好…显然事件侦听器没有添加到按钮中,我不想内联调用函数。提前谢谢 html: 有人贴了一个部分答案,然后删除了它,所以我会

我为这个简单的问题提前道歉,但是时间太晚了,我不想睡觉,直到我让它工作…我知道我的大脑已经麻木了,因为我在过去的几个小时里一直在做其他的事情

基本上,我只是想让submit按钮调用
add()
函数,方法是使用
addEventListener
对其进行赋值。当我单击按钮时,它将清除表单,但不执行任何其他操作。如果我填写字段,然后在Chrome的JS控制台中调用
add()
,它工作得很好…显然事件侦听器没有添加到按钮中,我不想内联调用函数。提前谢谢

html:


有人贴了一个部分答案,然后删除了它,所以我会把我所做的

  • 修复了在
    addEventListener

  • 删除了提交功能,并将其内容放入
    窗口。onLoad
    功能,以便自动分配


  • 很抱歉,我无法在手机上复制,但您是否已尝试隐式添加要提交的侦听器。
        <ul>
            <li>
                <label for="firstname">First Name:</label>
                <input type="text" id="firstname"/>
            </li>
            <li>
                <label for="lastname">Last Name:</label>
                <input type="text" id="lastname"/>
            </li>
            <li>
                <label for="email">Email:</label>
                <input type="text" id="email"/>
            </li>
            <li>
                <label for="subject">Subject:</label>
                <input type="text" id="subject"/>
            </li>
            <li>
                <input type="submit" value="Save" id="btnSave"/>
            </li>
        </ul>
    
    var rolodex = localStorage.getItem('rolodex'); //load stored data if there is any
    
    window.onload = function() {
        rolodex = JSON.parse(rolodex);
        if(rolodex === null) { //if no data, initialize an empty array
            rolodex = [];
        } else {
        console.log(rolodex);
        }
    };
    
    var add = function(){
        var SME = JSON.stringify({
            firstname:document.getElementById('firstname').value,
            lastname:document.getElementById('lastname').value,
            email:document.getElementById('email').value,
            subject:document.getElementById('subject').value
        });
    
        rolodex.push(SME);
        localStorage.setItem('rolodex', JSON.stringify(rolodex));
        alert("Saved");
    };
    
    var submit = function(){
        var btnSave = document.getElementById('btnSave');
        btnSave.addEventListener('click', add(), false);
    };