-2

在一个项目上工作,我希望能够使用jQuery和删除动态记录PHP。我已经有了让用户动态添加记录的选项,它只是让删除选项起作用。在我尝试开发此功能时,我Delete已将INSERT. 我遇到麻烦的地方是将值从隐藏字段获取到delete-class.php(底部脚本)。下面我发布了代码:

<form id="frmDelete" method="post" action="delete-class.php">
            <input id="btnSubmit" type="submit"/> 

            <ul id="class">
                <?php
//this is being loaded from a different page and is here just to reference the fields
                 while ($row = mysql_fetch_array($result)) {
                 echo '<li id="liClass" class="ui-widget"><img src="trash-can-icon.png" id='.$row["id_distance_class"].' class="delete"/>' . $row["class_section"] . '<input type="hidden" name="hdid" id="hdid" value="'.$row["id_distance_class"].'"/></li>';
                ?>
            </ul>
        </form>
<script>
        $(function() {
            $(".delete").click(function() {
                $('#load').fadeIn();
                var commentContainer = $(this).parent();
                var id = $(this).attr("id");
                var string = id ;
                // console.log(id);

                $.ajax({
                    type: "POST",
                    url: "delete-class.php",
                    data: $(this).serialize(),
                    cache: false,
                    success: function(){
                        commentContainer.slideUp('slow', function() {$(this).remove();});
                        $('#load').fadeOut();
                    }
                });
                return false;
            });
        });
    </script>
//this is the delete-class.php
$results = mysql_query("INSERT INTO distance_class (class_section) VALUES ( '".$_POST['hdid']."' ) ");
4

1 回答 1

1

问题是您没有在 AJAX 请求中传递此信息。你路过

data: $(this).serialize()

...大概是思维this指向形式。它没有;它指向单击的删除按钮,因为此代码在按钮的事件处理程序回调中运行。

更改上述内容以针对表单。

于 2012-08-20T14:14:21.367 回答