2011-09-01 51 views
1

我想做一個按鈕,只有當用戶確認它重定向。這是我迄今爲止所擁有的。jQuery的/ JavaScript取消鏈接重定向在if語句

的Javascript:

function del_list(){ 
    doIt=confirm('do you wish to proceed?'); 
    if(doIt){ 
     //DO SOMETHING 
    } 
    else{ 
     //DON'T DO SOMETHING 
    } 
    } 

HTML:

<a href=""><img src="icon.png" onclick="del_list()" border="0"></a> 

目前頁面重定向用戶是否確認與否。我只希望頁面在用戶確認後重定向(點擊確認彈出框中的確定)。

回答

3

如果要取消onclick事件,則需要在事件本身上使用preventDefault,否則可以返回false。你可以修改你的代碼看起來是這樣的:

function del_list(){ 
    doIt=confirm('do you wish to proceed?'); 
    if(doIt){ 
     //DO SOMETHING 
    } 
    else{ 
     return false; 
    } 
    } 

HTML

<a href=""><img src="icon.png" onclick="return del_list()" border="0"></a> 
+0

謝謝。這就是我一直在尋找的。 – cbr0wn

1
function del_list(){ 
    doIt=confirm('do you wish to proceed?'); 
    if(!doIt){ 
     return false; 
    } 

} 

如果用戶沒有確認,我們會阻止瀏覽器的默認操作。

0
function del_list(){ 
    doIt=confirm('do you wish to proceed?'); 
    if(doIt){ 
     //DO SOMETHING 
    } 
    else{ 
     return false; 
    } 
    } 
0

我會用一個回調,因爲JavaScript是異步你不打算與確認阻止:

function confirm(msg, callback) { 
    $('#msg').text(msg); 
    $('#yes').click(callback); 
    $('#dialog').dialog(); 
} 

$('#button').click(function() { 
    confirm('Do It?', action); 
}); 

function action() { 
    alert('Action!'); 
} 
0

第一名爲什麼你有anchor附上img if當用戶說不時,你想要return false。當用戶說yes你想做一些事情,我相信你不必重定向到錨點中設置的href。

我認爲你應該刪除錨一切都應該罰款。