[英]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.