jQuery ajax使用javascript提交表单发布数据

时间:2014-06-04 15:10:20

标签: javascript jquery ajax ajaxform

这是我的代码:

<html>
<body>
<?php
include('header.php');
?>
<div class="page_rank">
 <form name="search" id="searchForm" method="post">
 <span class="my_up_text">ENTER THE WEBSITE TO CHECK GOOGLE PAGE RANK:</span>
 <br /><br />
 <input type="text" name="my_site"/></form></div>
<div class="p_ity">
<a href="#" class="btn" onclick="sub_form();">PAGE RANK</a></div>
<div id="my_pass"></div>

      <script>
      function sub_form()
      {

          document.forms["search"].submit();
      }
        $(function () {
            $('form#searchForm').on('submit', function(e) {
                $.ajax({
                    type: 'post',
                    url: 'check-google-page-rank.php',
                    data: $('form').serialize(),
                    success: function (data) {
                        $('#my_pass').html(data);

                    }
                });
                e.preventDefault();
            });
        });     
    </script>
 </body>
 </html>

问题是如果我在表单中使用提交按钮,ajax帖子的工作非常完美。如果我在点击事件后使用sub_form()方法提交表单,则无效。我怀疑是java脚本sub_form()方法是否触发jquery ajax函数?

注意:

帖子网址返回的数据是 echo "<img width=\"165\" height=\"55\" src=\"./images/page-rank/pr".$rank.".gif\" />"

1 个答案:

答案 0 :(得分:-1)

document.forms[].property 

这将返回当前文档中所有表单的数组。

因为它是一个数组,所以你应该将索引值作为整数传递。

document.forms[0].submit();

如果您在顶部的html页面中将此表单作为第一个表单,则会提交表单。