2017-01-07 18 views
0

前に、私は私のウェブサイトにreCAPTCHAのを実装しようとしていたので、私は、ユーザーが成功したキャプチャレスポンスを送信したときに実行されなければならないJavaScriptを使用してコールバック関数を作成:にSyntaxError:欠落している(仮パラメータ

<script> 
    function onSubmit = function(token) { 
     document.getElementById("form-signin").submit(); 
    } 
</script> 

しかし、常にFirefoxを使用する場合、このエラーSyntaxError: missing (before formal parametersを得た

Google Chromeを使用している場合、私の代わりにこのエラーを得た:Uncaught SyntaxError: Unexpected token =

どちらのブラウザでは、エラーがに位置していることを示していますしかし、なぜこれが起こったのか分かりません。

何が間違っているか教えてくれる人は誰ですか?

+0

あなたは私が知っているVARをonSubmit = – Deep

答えて

1

という名前の関数を宣言するには、2つの基本的な方法があります、あなたの場合は

var onSubmit = function(token){ 
    document.getElementById("form-signin").submit(); 
}; 

ちょうど最初に行く:

function onSubmit(token){ 
    document.getElementById("form-signin").submit(); 
} 

または。

+0

@DavidThomasを試してみてください。要点は、関数と変数の間の線をぼかすので、2番目の方法は初心者に混乱することがあるということです。彼らは同じ扱いが可能で、HOF、クロージャーなどに役立ちます。しかし、最初のものは、JavaScript、IMHOを起動しているときに分かりやすくなります。 –

2

function some_identifierは、関数宣言または関数式のいずれかを開始できます。いずれにしても、次の文字は(、次に任意の引数定義、次に)でなければなりません。

あなたはここでやろうとしているように、変数に関数式を評価した結果を割り当てたい場合は、あなたが通常の方法で変数を宣言しなければなりません(つまり、あなたが持っているvarキーワードと、しない限り、既に宣言されているか、厳密モードを使用していない、グローバルを作成したい)。

だから、次のいずれか

function onSubmit(token) { 
    document.getElementById("form-signin").submit(); 
} 

または

var onSubmit = function(token) { 
    document.getElementById("form-signin").submit(); 
} 
関連する問題