2012-05-11 139 views
1

我使用jQuery的對話框值,當用戶按「OK「我想實現的是,在預設電臺繼續前進,當按下‘取消’,它採空。jQuery的對話框按鈕返回

function displaymessage() 
{ 
$("#confirm").dialog({  
    buttons:{ 
       "OK":function(){$(this).dialog("close"); test(1);}, 
       "Cancel":function(){$(this).dialog("close");test(0);}   
      } 
     }); 
function test(bool) 
{ 
if(bool==1) 
return true; 
else return false; 
} 
return test(); 
} 



<div id="confirm"></div> 
<input type="button" value="Click me!" onclick="return displaymessage()" /> 

但如何控制功能測試運行後用戶點擊 「確定」 按鈕?

感謝

+0

爲什麼你在測試函數中有一個額外的'return test'? – TRR

+0

@rutwikreddy將test()值賦予displaymeesage(),因此在onclick事件中,如果它爲false,則該按鈕將停止提交。這是我在想什麼,但它不起作用 – pita

回答

2

取2個按鈕

<asp:button id="submit" onclientclick="return displaymessage()" /> 

<asp:button id="submit_hidden" onclick="submit_OnClick" runat="server"/> 

隱藏ID爲submit_hidden的按鈕。 (可能是通過CSS dsiplay:無;)

而jQuery中更改代碼

$("#confirm").dialog({ 
    autoOpen:false,   
    buttons:{ 
       "OK":function(){ $("#submit_hidden").click(); 
           $(this).dialog("close"); }, 
       "Cancel":function(){ $(this).dialog("close");}   
      } 
     }); 

現在你不需要任何回報。

+0

非常感謝,這兩個按鈕的想法解決了我的問題,我修改了代碼從click()觸發()。謝謝 – pita

+0

我可否知道負面投票的原因? – Imdad

1
function displaymessage() 
{ 
$("#confirm").dialog({ 
    autoOpen:false,   
    buttons:{ 
       "OK":function(){ test(1); $(this).dialog("close"); }, 
       "Cancel":function(){ test(0); $(this).dialog("close");}   
      } 
     }); 
} 


function test(bool) 
{ 
    if(bool==1) 
     return true; 
    else 
     return false; 
} 
+0

哪個函數應該在按鈕onclick中調用?如何在用戶點擊取消時停止按鈕提交? – pita

+0

我不明白你的意思。什麼被提交? – Imdad

+0

它實際上是一個如果displaymessage()返回false,它將不會運行「submit_OnClick」是服務器端的代碼。那麼如何將布爾值賦予「displaymessage()」函數呢? – pita