单击按钮时不会调用HTML5 Javascript函数

时间:2015-07-07 06:28:52

标签: javascript html5

我有一个html页面,那是为了获取用户的电子邮件和密码。我定义了" login()"其中一个js文件中的方法,但按钮点击后该功能不会被执行。

HTML文件: http://pastie.org/10276940

2 个答案:

答案 0 :(得分:1)

好的,

首先,你应该小心引号和双引号......你的onclick代码中已经有一个错误。

然后,我不会使用onclick。我会通过在按钮上添加一个eventListener(单击)来实现它,如下所示:

document.getElementById('myButton').addEventListener('click',function(){
    //do something
});

这是一个这样做的例子。 还有其他几种方法可以做到这一点,就像你在onClick上做的那样,但这只是我做这项工作的方式。

http://jsfiddle.net/tz4bnu0m/4/

问题还在于,当您在onclick事件中调用login时,函数尚未定义(尚未),这是使用onclick事件执行此操作的方法,只需在onclick事件中调用它之前添加函数定义:< / p>

http://jsfiddle.net/tz4bnu0m/5/

希望它有所帮助!

(因为它不是输入类型提交,您不必处理默认操作,单击默认情况下不会提交表单)

答案 1 :(得分:-1)

问题出在按钮上。

 <button class="btn btn-lg btn-primary btn-block btn-signin" type="submit" onclick="login(document.getElementById("inputEmail").value,
            document.getElementById("inputPassword").value)">Sign in</button>

你正在混合双引号。用单引号改变它的工作原理

 <button class="btn btn-lg btn-primary btn-block btn-signin" type="submit" onclick="login(document.getElementById('inputEmail').value,
            document.getElementById('inputPassword').value)">Sign in</button>

这有效但...... 我不建议您直接在HTML中创建此事件。您可以分离此代码并使其更具可重用性:

 <button id="myID"></button>
 <script>
     document.getElementById("myID").onclick = function() {
            // good stuff
     };

     //other way:
     document.getElementById("myID").addEventListener('click', function() {
             // good stuff
     });
 </script>
祝你好运