Captcha表单提交而不重新加载页面

时间:2014-01-29 14:31:38

标签: jquery ajax

我在需要验证码的页面中有这个代码:

<?php


/** Validate captcha */
if (!empty($_REQUEST['captcha'])) {

    if (empty($_SESSION['captcha']) || trim(strtolower($_REQUEST['captcha'])) !== $_SESSION['captcha']) {
 echo '<script type="text/javascript">'
   , 'fail();'
   , '</script>';
    }
    if (empty($_SESSION['captcha']) || trim(strtolower($_REQUEST['captcha'])) == $_SESSION['captcha']) {
        echo '<script type="text/javascript">'
   , 'success();'
   , '</script>';
    }

    $request_captcha = htmlspecialchars($_REQUEST['captcha']);


    unset($_SESSION['captcha']);


}
if (empty($_REQUEST['captcha'])) {
 echo '<script type="text/javascript">'
   , 'fail();'
   , '</script>';
    }

?>

表格如下:

<form>
<img src="../captcha.php"/>

<input type="text" name="captcha" /></div>

<input name="submit">
</form>

captcha.php的内容我不认为这是必要的,但如果是的话,请告诉我。

我需要它来提交验证码而不刷新页面。

我试过这个没有取得任何成功:

      $(function () {
        $('form').bind('click', function (event) {

event.preventDefault();// using this page stop being refreshing 

          $.ajax({
            type: 'POST',
            url: '',
            data: $('form').serialize(),
            success: function () {
              alert('form was submitted');
            }
          });

        });
      });

1 个答案:

答案 0 :(得分:0)

尝试将$('form').bind('click', function (event) {更改为$('form').bind('submit', function (event) {

绑定到表单上的click事件没有多大意义。您要么在提交按钮上绑定click事件,要么在表单上绑定提交事件。我推荐后者,它涵盖了更多案例。