我有一个html页面,那是为了获取用户的电子邮件和密码。我定义了" login()"其中一个js文件中的方法,但按钮点击后该功能不会被执行。
HTML文件: http://pastie.org/10276940
答案 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>
祝你好运