当我在$ .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/
答案 0 :(得分:1)
变化:
{location: form.location.value},
为:
{location: $("[name=location]", form).val()},
form
是一个jQuery对象,而不是DOM元素,因此form.location
不存在。