我试图在我的网站上实现recaptcha,所以我使用javascript创建了一个回调函数,应该在用户提交成功的验证码响应时执行:
<script>
function onSubmit = function(token) {
document.getElementById("form-signin").submit();
}
</script>
但使用Firefox时总是遇到此错误SyntaxError: missing ( before formal parameters
。
使用Google Chrome时,我收到了此错误:Uncaught SyntaxError: Unexpected token =
两个浏览器都表明错误位于function onSubmit = function(token) {
,但我不知道为什么会这样。
任何人都可以这么好,告诉我出了什么问题吗?
答案 0 :(得分:2)
function some_identifier
可以启动函数声明或函数表达式。无论哪种方式,下一个字符必须是(
然后是任何参数定义,然后是)
。
如果要将函数表达式的计算结果分配给变量,就像在这里尝试一样,那么必须以正常的方式声明变量 (即使用{{ 1}}关键字,除非您已经声明了它,或者没有使用严格模式并希望创建全局模式。)
所以:
var
或
function onSubmit(token) {
document.getElementById("form-signin").submit();
}
答案 1 :(得分:1)
声明命名函数有两种基本方法:
function onSubmit(token){
document.getElementById("form-signin").submit();
}
或者:
var onSubmit = function(token){
document.getElementById("form-signin").submit();
};
在你的情况下,请选择第一个。