停止Recaptcha在表单中执行“操作”

时间:2012-08-23 18:16:40

标签: javascript jquery json recaptcha

我正在尝试使用jQuery发布和处理表单。

<form action="/postcomment/" method="post" id="commentform">
  <input type="text" name="author" id="author" />
  <input type="text" name="email" id="email" />
<textarea name="comment" id="comment" ></textarea>
<input name="submit" type="submit" id="submit" value="Submit" />
</form>

和jQuery代码:

$("#submit").click(function() {
$.ajax({
 dataType: 'json',
 beforeSend: function() {
 },
 timeout: 60000,
 error: function(request,error) {
 },
  success: function(data) {
   var obj = jQuery.parseJSON(data);
   //blah blah...
   } // End success
}); // End ajax method
return false;
});

它按预期工作。但是,如果我将<script type="text/javascript" src="https://www.google.com/recaptcha/api/challenge?k=xxxx" > </script>添加到表单中,它将不再有效。

浏览器会询问:有一个json文件,你想打开它吗?

显然,recaptcha脚本会调用“post”操作。如何阻止Recaptcha在表单中执行“操作”?

相关问题:Handling json Form with jQuery on Google App Engine

1 个答案:

答案 0 :(得分:0)

这就是我改变行动的意思,希望我理解你的问题:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script>
        function changeAction() {
            $("#myForm").attr("action", "anotherAction");
            return false;
        }
    </script>
    <title></title>

</head>
<body>
 <form action="myFirstAction.html" id="myForm"> 
        <input type="text" />
        <button type="submit" onclick="return changeAction()">
        </button>
    </form>
</body>
</html>

单击按钮后,表单的操作为“anotherAction”。