簡體   English   中英

javascript確認asp.net按鈕從未提交?

[英]javascript confirm asp.net button never submits?

我有一個常規的asp:button。 我正在.Net 3.5中工作。 我試着用OnClientClick屬性向按鈕添加一個js確認,以及在代碼后添加,結果是相同的。 無論用戶在確認彈出窗口中單擊什么,表單都不會提交?

BtnDeleteSelected.Attributes.Add(“ onclick”,“返回確認('確定要刪除嗎?');”);

出現確認對話框,如果我選擇“確定”,它仍然不會提交。 謝謝。

那是因為您不應該在所有情況下都返回。 如果查看頁面的源代碼並查找按鈕標記,則可能會看到此...

onclick="return confirm('Ok?'); __doPostback();"

在某些情況下,ASP.NET框架會自動插入__doPostback調用。 由於無論confirm結果如何,您都會立即返回,因此永遠不會觸發回發。 最終的解決方案是不設置onclick屬性,而是使用不引人注目的方法 但是,如果迫切需要通過onclick在服務器端對此進行控制,則可以使用簡單的if語句,並且僅在他們按下“取消”時才返回...

string js = "if(!confirm('Are you sure you want to delete?')) return false;";
BtnDeleteSelected.Attributes.Add("onclick", js);

我也有這個問題。 我正在使用在數據網格的OnItemCreated代碼中添加客戶端javascript,如下所示:

 myTableCell = e.Item.Cells(iDeleteColumnNumber) 'Delete Button Column
 myDeleteButton = myTableCell.Controls(1)

 If myDeleteButton.UniqueID = "lbtnDelete" Then
    myDeleteButton.Attributes.Add("onclick", "if(!confirm('OK to Delete?'))return false;")
 End If

由於某些原因,該方法不起作用。 然后,我將JavaScript移到設計視圖中的<asp:linkbutton> ,如下所示:

   <asp:LinkButton id="lbtnDelete" runat="server" CssClass="link-text" Text="<img border=0 src=../images/icons/icon-delete.gif alt=Delete>"
 CommandName="Delete" CausesValidation="false" OnClientClick="if(!confirm('OK to Delete?'))return false;"></asp:LinkButton>

這對我有用。

如果驗證通過,您是否必須返回TRUE? 意思是,如果confirm()返回false,我認為表格不會提交。

您的代碼表面上看起來不錯。 您是否有任何驗證者可能阻止其提交? 嘗試添加BtnDeleteSelected.CausesValidation = false以防止刪除按鈕調用任何客戶端驗證器。

請嘗試調用doPostBack函數;)

我的意思是:

BtnDeleteSelected.Attributes.Add("onclick", "CheckConfirm();");

<script language="javascript">
function CheckConfirm()
{
    if ( confirm('Are you sure you want to delete?') )
        __doPostBack('BtnDeleteSelected','');
    else
        return false;

    return true;
}
</script>

希望能有所幫助,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM