2013-01-08 49 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