Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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 将事件侦听器添加到仅具有类id的按钮_Javascript_Addeventlistener_Getelementsbyclassname - Fatal编程技术网

Javascript 将事件侦听器添加到仅具有类id的按钮

Javascript 将事件侦听器添加到仅具有类id的按钮,javascript,addeventlistener,getelementsbyclassname,Javascript,Addeventlistener,Getelementsbyclassname,我正在尝试在LinkedIn的第一页添加一个登录按钮,该按钮如下所示: <button class="sign-in-form__submit-button" data-tracking-control-name="homepage-basic_signin-form_submit-button" data-tracking-litms="" type="submit"> Sign in

我正在尝试在LinkedIn的第一页添加一个登录按钮,该按钮如下所示:

<button class="sign-in-form__submit-button" data-tracking-control-name="homepage-basic_signin-form_submit-button" data-tracking-litms="" type="submit">    Sign in        </button>

我不确定这一点,因为您没有完全编写代码,但似乎忘记了在用户名和密码之前编写var

   function getinputs(){
      var username = document.getElementById("session_key").value;
      var password = document.getElementById("session_password").value;
      }
我看到两个错误

  • 我看到的第一个错误是在调用函数后声明函数
  • 第二个是您以错误的方式调用它,而不是
    getinputs()
    您编写了
    getinputs
  • 事件应该包含要使用它的函数(如果您在调用函数之前创建了函数,则不必如此) 因此,我提供了两种解决方案:

    1-第一个具有函数内部事件的

     document.getElementsByClassName("sign-in-form__submit-button")[0].addEventListener("click", getinputs , function getinputs(){
        username = document.getElementById("session_key").value;
        password = document.getElementById("session_password").value;
        });
    
    2-活动之外的第二个活动:

    function getinputs(){
    username = document.getElementById("session_key").value;
    password = document.getElementById("session_password").value;
    }
    document.getElementsByClassName("sign-in-form__submit-button")[0].addEventListener("click", getinputs());
    

    我为输入标记使用了另一种类型的事件监听器,它起作用了
    感谢您的努力

    是否没有
    元素?那么你不能使用提交事件吗?@Jojo先生我没有检查它,但我如何使用它?我的意思是,我需要将我的扩展链接到此网页,并在用户访问该网页时捕获字段,我认为最好的选择是使用按钮。你还有别的想法吗?你能说得更具体一点吗?你的代码是扩展名吗?chrome、FireFox或Edge?chrome,此代码是content.jsI的一部分,在扩展中使用表单不会有任何问题,它大大简化了代码。否则我不明白为什么你有一个提交按钮啊,这不是问题,我只是停留在代码的这一部分。所以为了简单起见,我把它写得很短。当我在console.log中输入用户名和密码时,我什么也看不到。甚至在开发者模式中也没有错误!
    function getinputs(){
    username = document.getElementById("session_key").value;
    password = document.getElementById("session_password").value;
    }
    document.getElementsByClassName("sign-in-form__submit-button")[0].addEventListener("click", getinputs());