我选择了另一个开发人员构建的项目。他在实际的php页面上有一些JavaScript,这使得调试很困难。
<button type="submit" onclick="doFunction(event)">Done</button>
我试图将其移至javascript文件:
$( document ).ready(function() {
function doFunction(e){}
});
并从PHP页面中删除它,但现在它没有被触发。为什么它现在不工作,我该如何解决?
答案 0 :(得分:4)
您已在另一个函数中定义了function doFunction(e){}
。
本地范围它。它不是一个全球性的。它不能从onclick
属性访问(因为它们没有在同一个函数中定义)。
不要使用onclick
属性,他们有many problems,而是使用JavaScript绑定您的事件处理程序。
因为你正在使用jQuery:
$('button').on('click', doFunction);
如果您愿意,可以使用更具体的选择器。
也就是说,在提交表单时,点击提交按钮几乎要做任何事情。
$('form').on('submit', doFunction);