Evite _DoPostback ser renderizado na marcação de botões
-
22-09-2019 - |
Pergunta
É possível impedir que a chamada _DoPostback () seja renderizada em um botão?
Eu gostaria de adicionar alguma lógica personalizada antes de ligar para o postback.
Eu adicionei um evento onclick ao botão
por exemplo
<button id="manualSubmit" runat="server" class="manual-submit" onclick="$('#jeweller-form').hide();" />
No entanto, isso é renderizado em linha antes do _doPostback (), mas o postback é demitido antes que o jQueryhide ocorra
Eu gostaria de chamar minha própria função JS e depois acionar manualmente o postback
alguma ideia?
Solução
Experimente isso:
<button runat="server" id="Test" onserverclick="Test_ServerClick">Submit</button>
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
var o = $("#Test"), c = o.attr("onclick");
o
.removeAttr("onclick")
.click(function(e) {
o.fadeOut("slow", function() {
o.fadeIn("slow", function() {
c(e);
});
});
return false;
});
});
</script>
Outras dicas
Adicionar retorno falso; Após o código do lado do cliente no evento de clique. No htmlControl, não achava que isso renderizou o __DOPOSTBACK; é o controle que torna o _dopostback e a maneira comum de impedir isso para esse controle é:
<asp:Button ... OnClientClick="doThis();return false;" />
Que renderiza essas declarações JS antes do __DOPOSTBACK.
Hth.