0

AJAX によって読み込まれたフォームがあり、そのフォーム内で reCaptcha コントロールをレンダリングしています。フォームを投稿すると、まず検証が行われ、Web サービスを使用してキャプチャが検証されます。すべてのデータが正しければ、フォームを投稿したいと思います。

しかし、最後の動作は追加されません...

私はこの投稿を読みました:

しかし、どのソリューションも機能しません... :(

私のコード:

$('#myForm').submit(function (e) {
 e.preventDefault();

  var captchaInfo = {
   challengeValue: Recaptcha.get_challenge(),
   responseValue: Recaptcha.get_response(),
  };

  $.ajax({
   type: 'POST',
   url: '@Url.Action("ValidateCaptcha")',
   data: JSON.stringify(captchaInfo),
   contentType: 'application/json; charset=utf-8',
   dataType: 'json',
   success: function (msg) {
    if (msg) {
     $('#myForm').submit();
    }
    else {
     helpers.setCaptcha("captcha");
    }
   },
   error: function (req, status, error) {
    alert("error: " + error);
    helpers.setCaptcha("captcha");
   },
  });
 });

これを解決するにはどうすればよいですか?

前もって感謝します

4

3 に答える 3

1

検証された場合は、送信ハンドラーを削除してみてください。

$('#myForm').off('submit');
于 2013-05-09T16:52:44.157 に答える
-1

フォーム ノード自体でイベントをトリガーします。

$('#myForm')[0].submit()

これにより、jQuery バインド イベントがバイパスされます。

于 2013-05-09T17:45:21.463 に答える