2012-06-21 29 views
0

我想使用確認對話框作爲錨標籤。所以我做了下面的代碼:HTML錨鏈接 - 帶有確認對話框的href

<a href="javascript:a=2;if(confirm('sdsd'))__doPostBack('id','START');"> click </a> 

我用僞協議來顯示確認對話框。如果我使用doPostBack的單行如下:

<a href="javascript:if(confirm('sdsd'))__doPostBack('id','START');"> click </a> 

它工作正常。如果我使用另一條線,那麼確認對話框取消是奇怪的。我想要使​​用內聯腳本。是否可以在僞協議中使用多行?

+4

你傻了開發者與你的網線錨JS把戲 – AlienWebguy

+2

「我向上帝發誓,我將手槍鞭未來的傢伙誰說‘把戲’! –

回答

1

將自己執行的函數中的JavaScript包含在醜陋的href屬性中。

<a href="javascript:(function(){ 
    a=2; 
    if(confirm('sdsd'))__doPostBack('id','START'); 
})()"> click </a> 

但是一個更好的解決辦法是:

<a href="#" onclick="(function(){ 
    a=2; 
    if(confirm('sdsd'))__doPostBack('id','START'); 
})(); return false;"> click </a> 
+0

爲什麼你將一個自動執行的匿名函數綁定到一個單擊事件上?onclick的值應該是一個回調函數,它會在點擊時執行,這就是點。 – AlienWebguy

+0

@AlienWebguy我發現多行匿名函數不起作用,但自我執行功能允許OP要求的多行愚蠢行爲。 – iambriansreed