我有一個常規的asp:按鈕。我正在.net 3.5中工作。我已經嘗試使用OnClientClick屬性向按鈕添加js確認以及添加代碼隱藏,結果是相同的。無論用戶點擊確認彈出式窗體都不會提交?javascript確認asp.net按鈕從不提交?
BtnDeleteSelected.Attributes.Add(「onclick」,「return confirm('確定要刪除嗎?');」);
確認對話框出現,如果我選擇「確定」它仍然不提交..任何想法?謝謝。
我有一個常規的asp:按鈕。我正在.net 3.5中工作。我已經嘗試使用OnClientClick屬性向按鈕添加js確認以及添加代碼隱藏,結果是相同的。無論用戶點擊確認彈出式窗體都不會提交?javascript確認asp.net按鈕從不提交?
BtnDeleteSelected.Attributes.Add(「onclick」,「return confirm('確定要刪除嗎?');」);
確認對話框出現,如果我選擇「確定」它仍然不提交..任何想法?謝謝。
那是因爲你不應該在所有情況下返回。如果您查看網頁的源代碼,並查找按鈕標記,你可能會看到這個...
onclick="return confirm('Ok?'); __doPostback();"
的__doPostBack調用由在某些情況下,ASP.NET框架自動插入。既然您立即返回,無論confirm
的結果如何,回發都不會觸發。最終的解決方案是不設置onclick屬性,而是使用unobtrusive approach。但是,如果有緊迫的理由來控制這種對通過的onclick服務器端,您可以使用一個簡單if
聲明,只有當他們按「取消」返回......
string js = "if(!confirm('Are you sure you want to delete?')) return false;";
BtnDeleteSelected.Attributes.Add("onclick", js);
如果驗證通過,您是否必須返回TRUE?意思是,如果confirm()返回false,我認爲表單不會提交。
從我的理解上面是所有需要的..點擊確定返回true – rodrick 2010-09-16 20:35:07
請嘗試調用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>
希望幫助,
我有這個問題了。我用添加客戶端的JavaScript在這樣的OnItemCreated
代碼一個DataGrid的:
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>
這爲我工作。
非常感謝!非常有意義。唯一迫切的需要可能是混雜着懶惰的壞習慣..我應該克服的事情我知道!再次感謝。 – rodrick 2010-09-16 20:47:54