2012-05-21 77 views
0

我想知道是否有人可以幫助我。首先,道歉,因爲我只是剛剛開始使用Javascript,所以我可能我正在犯一個非常基本的錯誤,所以請耐心等待。AJAX未在對話框按鈕上運行單擊

我試圖實現Example 2this在我的畫廊頁面顯示一塊第三方軟件here

顯示在下面的代碼中,我已經能夠添加消息到onclick事件,即當用戶點擊'bin'圖標,但是應該運行'Delete'的AJAX代碼片段時被點擊按鈕失敗:

<script type="text/javascript"> 

    Galleria.ready(function() { 
     this.$('thumblink').click(); 

    $(".galleria-image").append( 
    "<span class='btn-delete ui-icon ui-icon-trash'></span>"); 
    $(".btn-delete").live("click", function(){ 
    $.msgbox("You are about to delete this image. It cannot be restored at a later date. Do you wish to continue?", { 
    type: "alert", 
     buttons : [ 
     {type: "submit", value: "Delete"}, 
     {type: "cancel", value: "Cancel"} 
     ] 
     },function(Delete) { 
     var img = $(this).closest(".galleria-image").find("img"); 
     // send the AJAX request 
     $.ajax({ 
     url : 'delete.php', 
     type : 'post', 
     data : { image : img.attr('src'), userid: "VALUE", locationid: "VALUE"}, 
     success : function(){ 
     img.parent().fadeOut('slow'); 
    } 
    });    
    }); 
    return false; 
    });  
    }); 

</script> 

我真的不知道在那裏我已經錯了這裏,儘管花費一些時間disecting代碼。我只是想知道是否有人可以看看這個請讓我知道我出錯的地方。

之後的更新 工作液

​​

非常感謝和問候

+2

它會拋出任何錯誤?你可以請檢查JavaScript控制檯,看看是否有任何JS錯誤? – Asdfg

+0

Hi @Asdfg,感謝您花時間回覆我的帖子。我剛剛進入Firefox並運行該頁面。不幸的是,它dopesnt顯示任何錯誤消息。親切的問候 – IRHM

+0

@IRHM安裝firebug插件,打開瀏覽器重新啓動後按F12,打開控制檯,刷新頁面,在html頁面提交您的請求,並在控制檯中尋找錯誤 – Alex

回答

0

我已將變量Delete更名爲result

function(result) { 
    //result variable holds the value of what user clicks 'Delete' or 'Cancel'. 
    //Cancel click will pass false. 
    //Delete click will pass Delete. 
    alert(result) 
    //You can also check if(result=='Delete') instead of if(result) 
    if(result) 
    { 
     var img = $(this).closest(".galleria-image").find("img"); 
     // send the AJAX request 
     $.ajax({ 
     url : 'delete.php', 
     type : 'post', 
     data : { image : img.attr('src'), userid: "VALUE", locationid: "VALUE"}, 
     success : function(){ 
     img.parent().fadeOut('slow'); 
    } 
    } 

看看是否有效。

+0

嗨@Asdfg,非常感謝你。我確信我已經正確實施了這一點,但不幸的是'thumnail'視圖不再起作用。我已經更新了我在第一篇文章中使用的鏈接來說明這一點,或許比我能解釋得更好。非常感謝和親切的問候 – IRHM

+0

Hi @Asdfg,感謝您的時間,麻煩和幫助。我已經完成了一些更多的工作,現在我已經設法讓這個工作。這是對你的代碼的一個非常小的修改,但我已經將它添加到我原來的帖子中以供參考。再次,非常感謝和親切的問候 – IRHM

0

似乎this在MSGBOX回調不是一個元素(換句話說,img變量是空的嘗試將var img聲明的權利放入onclick監聽器中。

$(".btn-delete").live("click", function(){ 
var img = $(this).closest(".galleria-image").find("img"); 

幫助?

+0

嗨@Matej Konecny,謝謝你對我的文章和建議的重新評論。這確實有效,但不幸的是,當「取消」被選中時,它會刪除圖像。親切的問候 – IRHM

+0

您需要在執行AJAX調用之前檢查'刪除'變量值。 – Asdfg

+0

Hi @Asdfg感謝您的支持。我擔心這是我缺乏JavaScript知識的地方讓我失望。我的道歉,但你能否詳細說明我如何解決這個問題?親切的問候 – IRHM

相關問題