Sto scrivendo questa risposta solo perché sto utilizzando i pulsanti HTML con ASP.NET WebForms e non sono riuscito a trovare una soluzione perché dovrei sostituire il mio pezzo di codice con esempi di lavoro. Ecco la soluzione perché non funziona. Spero che ti aiuterà a capire il problema come controllare mi ha aiutato. Questo è il mio primo post, mi dispiace per lo stile.
<button type="button" id="buttonAddOrEdit" class="btn btn-success" runat="server" onclick="return myValidate()" onserverclick="buttonAddOrEdit_ServerClick">Zapisz</button>
E funzione javascript:
function myValidation() {
if (validator.form()) {
//Project logic
return true;
}
else return false;
};
Utilizzando lato client click dopo la convalida corretta non è stata innescando eventi sul lato server che è stato rilegato a pulsante. Soluzione menzionata per modificare il codice in:
onclick = "if (! MyValidation()) return;"
Funziona a causa del modo in cui viene creato il rendering html sulla pagina con onserverclick. Il pulsante Onserverclick on html è stato sostituito dal metodo __doPostBack da javascript. Fullcode del pulsante HTML rendering su lato client cerca in questo modo:
<button onclick="return myValidation(); __doPostBack('ctl00$PortalContent$buttonAddOrEdit','')" id="ctl00_PortalContent_buttonAddOrEdit" type="button" class="btn btn-success">Zapisz</button> Błąd składni
E dopo la sua sostituzione con se statment.
<button onclick="if(!myValidation()) return; __doPostBack('ctl00$PortalContent$buttonAddOrEdit','')" id="ctl00_PortalContent_buttonAddOrEdit" type="button" class="btn btn-success">Zapisz</button>
Operazioni con restituzione myValidate(); non sarà un evento tirgger perché ritorna prima di __doPostBack.
Il seguente codice consente di aggiungere un altro codice al pulsante se necessario e non causerà alcun problema.
Hai provato senza la finestra di avviso? Ho letto un altro post come questo di recente –
Ho provato questo con ASP.NET 4 e ottenere il comportamento previsto. –
Verificare la presenza di errori javascript che impediscono il ritorno false – Aristos