0

当我在 $.post 调用中将元素传递给 .remove() 函数时,我无法从页面中删除我的表单。

这是我的代码:

function cancelUpload(form) {
$( "#closeModal" ).dialog({
        resizable: false,
        height:200,
        modal: true,
        buttons: [
        {   
            text: "Yes", 
            click: function() {
                $.post(
                    "misc/removeMedia.php",
                    {location: form.location.value},
                    function(result) {
                        if(result.split('|')[0] == "Success"){
                            $(form).remove();
                            noty({text: result.split('|')[1], type: "information"});

                        } else {
                            noty({text: result.split('|')[1], type: "error"});

                        }

                    },
                    "html"
                    );
                $(this).dialog("close");
            },
            class: "btn btn-success"
        },
        {
            text: "No",
            click: function() {
                $(this).dialog("close");
            },
            class: "btn btn-danger"
        }
        ]
    });
}

如果我完全摆脱 $.post 调用并只输入 $(form).remove(),它就可以工作。所以我知道我正在将正确的元素传递给函数。

jsFiddle 示例:http: //jsfiddle.net/4NDFR/

4

1 回答 1

1

改变:

{location: form.location.value},

到:

{location: $("[name=location]", form).val()},

form是一个 jQuery 对象,而不是一个 DOM 元素,所以form.location不存在。

小提琴

于 2013-01-08T03:51:53.610 回答