今天我很沮喪,看起來像一段簡單的代碼。如果我嘗試使用自定義Javascript函數,我似乎無法使OnClientClick無法運行ASP.net代碼。但是,如果我只使用標準的「javascript:return confirm('whatever')」,如果點擊取消,將停止提交。你能幫我理解爲什麼我的自定義函數不能做同樣的事情嗎?JavaScript函數不停止Button.Click ASP.Net代碼
下面是按鈕的代碼:
<asp:Button ID="ButtonSubmitChanges" runat="server" Text="Submit Changes" Class="justround" autofocus="autofocus"
OnClientClick="javascript:myCustomConfirm()"/>
這裏是VB.Net函數來處理按鈕點擊:
Protected Sub ButtonSubmitChanges_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonSubmitChanges.Click
Dim ChangeErrorMessage As String = SubmitChanges()
If ChangeErrorMessage.Length <= 0 Then
Response.Redirect("ViewChangeRequest.aspx?CRID=" & ChangeRequest_ID.ToString)
Else
labelSystemMessage.Text = ChangeErrorMessage
End If
End Sub
這裏是客戶的Javascript功能:
function myCustomConfirm() {
return confirm("Are you sure?");
}
再次,爲什麼它會停止onclick與正常返回confirm()並單擊取消,但沒有當我使用我的功能時,停止代碼並點擊取消?
這已經有一段時間了,但我相信你需要在.aspx中使用AutoWireup =「false」。 – Scottie
您沒有返回「myCustomConfirm()」返回的值。你只是調用它並拋棄結果。 – Pointy
哦,我的天啊,它太簡單了,我想把我的頭撞在鍵盤上。謝謝@點子我知道這似乎太難了...... – user3334102