ajax函数没有打开页面

时间:2014-09-26 07:03:13

标签: javascript php jquery ajax

我不明白为什么ajax不起作用。 我的代码:

<script type="text/javascript" src="js/jquery-1.9.1.js"></script>
    <script type="text/javascript">
    function edit_row(id)
    {
        $.ajax({
            method:'get',
            url:'form.php',
            success:function(data)
            {
              $('#form_div').html(data);
            }
        });

    }
<?php
   echo '<td style='.$style.'>'.$status.'<a href="" title="Edit"  onClick=edit_row('.$data['type_id'].')><img src="images/pencil.png" width="30px" height="30px"></a></td></tr>';
?>

它没有打开form.php onclick有什么问题请帮帮我!!!

4 个答案:

答案 0 :(得分:1)

您点击该链接。 JavaScript运行。链接被遵循。加载新页面(具有相同的URL,因为您有href="")。 JavaScript停止了,因为它的环境消失了。

改为使用按钮。

答案 1 :(得分:0)

你必须把

href="javascript:void(0)"

而不是

href=""

否则它将重新加载页面而不调用ajax

答案 2 :(得分:0)

你没有通过&#39; id&#39;给你form.php我想你需要传递它:

<script type="text/javascript" src="js/jquery-1.9.1.js"></script>
    <script type="text/javascript">
    function edit_row(id)
    {
        $.ajax({
            method:'get',
            url:'form.php',
            data: {id: id },
            success:function(data)
            {
              $('#form_div').html(data);
            }
        });

    }
</script>

答案 3 :(得分:0)

我会做这样的事情(不使用onClick属性):

<script type="text/javascript" src="js/jquery-1.9.1.js"></script>
<script type="text/javascript">
    $(function() {
        $('a.edit').click(function(e) {    // or: $.on('click', 'a.edit', function(e) {
            e.preventDefault();
            var id = $(this).attr('id');
            $.ajax({
                method:'get',
                url: 'form.php',
                data: {id:id},
                success: function(data) {
                    $('#form_div').html(data);
                }
        });
    });
</script>

<?php
    echo '<td style="$style">$status
          <a href="#" id="' . $data['type_id'] . '"  title="Edit" class="edit">
          <img src="images/pencil.png" width="30px" height="30px">
          </a></td></tr>';
?>