2013-01-08 48 views
0

当我将元素传递给.remove()函数时,我无法从页面中删除我的表单。不能在jQuery中读取变量post

这里是我的代码:

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的$调用的,只是把$(形式)一个.remove(),它的工作原理。所以我知道我正在将正确的元素传递给函数。

的jsfiddle样品:http://jsfiddle.net/4NDFR/

+0

你能解决你的小提琴吗?它试图运行'removeForm()',而不是'cancelUpload()'。和'cancelUpload会()'是指'$( “#closeModal”)',它不存在。 – Barmar

+0

对不起尝试http://jsfiddle.net/cSYCM/ – swg1cor14

+0

其中'noty'消息,你得到什么?什么是来自服务器的响应? – charlietfl

回答

1

变化:

{location: form.location.value}, 

到:

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

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

FIDDLE

+0

实际上是修正。在我的原始代码中,我的提交按钮显示onclick =“removeForm(this.form)”。所以你是对的这个小提琴的例子。 – swg1cor14

+0

谢谢巴尔玛。这是另一个干扰插件。 – swg1cor14