喵-见缝插针 2012-09-09 08:45 采纳率: 0%
浏览 26

jQuery和Ajax无法正常工作

I have 3 buttons in my page. they are new buttons, delete, and edit. if I click the new button will display a add_new form , and if I click to change the edit_form will appear.

My question is why the new_form does not appear after I click submit in my edit_form or click delete button to delete data.

My code is like this

        <div  id="list_address">
        <table>
            <tr valign="top">
                <th>Name</th>
                <th>Address</th>
                <th>Action</th>
            </tr>
            <tr valign="top">
                    <td>Name 1</td>
                    <td>Adress 1</td>
                    <td>
                        <span><a href="#" onclick="javascript:show_editform(<?php echo $id_address;?>);">
                        Edit|</a></span><span><a href="#" 
                        onclick="javascript:deleteAddress(<?php echo $id_address;?>);">Delete</a></span>
                    </td>
            </tr>
            <tr>
                <td colspan="3"><span>
                    <button id="btn_add">Add New</button></span>
                </td>
            </tr>
        </table>
        <div>

        <div id="boxform">
             <div id="edit" style="display:none">
                    <form id="fm_edit" class="fm_address">
                        <input type="hidden"  value="1" name="submitted" id="submitted"/>
                        <input type="hidden"  id="id_address" name="id_address"/>
                        <fieldset>
                            <h3>Edit</h3>
                            <p>
                                <label>Address</label>
                                <input type="text" name="address1" id="address1" >
                                <sup>*</sup>
                            </p>
                            <p>
                                <label>Address (2)</label>
                                <input type="text" name="address2" id="address2" >
                            </p>
                            <p><input type="submit" value="Save"/></p>
                        </fieldset>
                    </form>
                </div>
            </div>
             <div id="add" style="display:none">
                    <form id="fm_add" class="fm_address">
                        <input type="hidden"  value="2" name="submitted" id="submitted"/>
                        <fieldset>
                            <h3>Edit</h3>
                            <p>
                                <label>Address</label>
                                <input type="text" name="address1" id="address1" >
                                <sup>*</sup>
                            </p>
                            <p>
                                <label>Address (2)</label>
                                <input type="text" name="address2" id="address2" >
                                <sup>*</sup>
                            </p>
                            <p><input type="submit" value="Save"/></p>
                        </fieldset>

                    </form>
                </div>
            </div>
        </div>

        <script>
        function getAddress(){
            $.ajax({
                type: "POST",
                url: "getAddress.php",
                success: function(response){
                $("#list_address").html(response);              
                }
            }); 
        }

        function clear_form() {
            $(".fm_address").find(':input').each(function() {
                switch(this.type) {
                    case 'password':
                    case 'select-multiple':
                    case 'select-one':
                    case 'text':
                    case 'textarea':
                    $(this).val('');
                    break;
                    case 'checkbox':
                    case 'radio':
                        this.checked = false;
                    }
            });
        }

        function show_editform(id){
            $("#add").hide();
            $("#edit").show();
            $("#id_address").val(id);
        }

        function show_insertform(){
            $("#edit").hide();
            $("#add").show();
        }

        $(document).ready(function() {  
            $("#btn_add").bind('click',function(){
                clear_form();
                show_insertform();
            });

        $("form#fm_edit").submit(function() {   
            var data = $("form#fm_edit").serialize();
                $.ajax({
                    type: "POST",
                    url: "address.php",
                    data: data,
                    success: function(response){
                        alert(response);
                        getAddress();
                    }   
                });
        return false;
        }); 

        $("form#fm_add").submit(function() {    
            var data = $("form#fm_add").serialize();
            alert(data);
            $.ajax({
                type: "POST",
                url: "address.php",
                data: data,
                success: function(response){
                    alert(response);
                    getAddress();
                }   
            });
        return false;
        }); 
    }); 

    </script>

Please help me.. Thanks.

  • 写回答

1条回答 默认 最新

  • weixin_33701251 2012-09-09 08:56
    关注

    You add below script in your both ajax pages like getAddress.php and address.php after the try it. i am sure it will be working.

    one more thing you have over write list_address div. after ajax response all list_address div data replace on ajax response data.

    $("#list_address").html(response);

     <script>
            function getAddress(){
                $.ajax({
                    type: "POST",
                    url: "getAddress.php",
                    success: function(response){
                    $("#list_address").html(response);              
                    }
                }); 
            }
    
            function clear_form() {
                $(".fm_address").find(':input').each(function() {
                    switch(this.type) {
                        case 'password':
                        case 'select-multiple':
                        case 'select-one':
                        case 'text':
                        case 'textarea':
                        $(this).val('');
                        break;
                        case 'checkbox':
                        case 'radio':
                            this.checked = false;
                        }
                });
            }
    
            function show_editform(id){
                $("#add").hide();
                $("#edit").show();
                $("#id_address").val(id);
            }
    
            function show_insertform(){
                $("#edit").hide();
                $("#add").show();
            }
    
            $(document).ready(function() {  
                $("#btn_add").bind('click',function(){
                    clear_form();
                    show_insertform();
                });
    
            $("form#fm_edit").submit(function() {   
                var data = $("form#fm_edit").serialize();
                    $.ajax({
                        type: "POST",
                        url: "address.php",
                        data: data,
                        success: function(response){
                            alert(response);
                            getAddress();
                        }   
                    });
            return false;
            }); 
    
            $("form#fm_add").submit(function() {    
                var data = $("form#fm_add").serialize();
                alert(data);
                $.ajax({
                    type: "POST",
                    url: "address.php",
                    data: data,
                    success: function(response){
                        alert(response);
                        getAddress();
                    }   
                });
            return false;
            }); 
        }); 
    
        </script>
    
    评论

报告相同问题?

悬赏问题

  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题