我尝试通过 Ajax 提交表单,但它没有调用该函数?
我在 Firebug 控制台上收到此错误:
ReferenceError: CreateUser is not defined
CreateUser()
我用来调用此函数的按钮:
<input type="button" onclick="CreateUser()" id="RegisterUserBtn" class="btn" value="Sign Up" name="">
我的功能:
<script language="JavaScript">
$(document).ready(function(e){
function CreateUser(){
alert('CreateUser SignUp button is clicked.');
}
});
</script>
是什么导致了这个问题?为什么找不到函数名?
最佳答案
您在这里混合了两种 javascript 编码风格:“旧风格”与 html 代码中的 on-event 属性。和带有 $(document).ready block 的“不显眼的 javascript”。 我的建议是始终使用不显眼的 JavaScript:
不要在 html 中使用 onclick。 jQuery 帮助您将所有 JavaScript 代码排除在 html 代码之外。您已经有一个适合您按钮的 ID。
<input type="button" id="RegisterUserBtn" class="btn" value="Sign Up" name="">
所以你的 jQuery 看起来像这样:
$(document).ready(function(e) {
function CreateUser() {
alert('CreateUser SignUp button is clicked.');
}
$('#RegisterUserBtn').on('click', CreateUser);
});
这种 HTML 和 Javascript 的分离被称为“unobstrusive javascript”。
在此处查看现场演示:http://jsfiddle.net/bjelline/nySxm/
关于php - Firebug 控制台,给出错误 "function not defined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16249620/