J'ai une question, j'ai un bouton comme ci-dessous:
<asp:Button ID="savebtn" runat="server" OnClick="savebtn_Click" Visible="false" />
J'ai ensuite un bouton HTML comme ci-dessous:
<button id="btnsave" onclick="fncsave">Save</button>
J'ai le javascript ci-dessous:
<script type="text/javascript">
function fncsave()
{
document.getElementById('<%= savebtn.OnClick %>').click()
}
</script>
Ma question est maintenant, comment puis-je appeler l'asp: Button OnClick à partir du bouton HTML? J'ai lu que vous pouvez le faire en appelant à partir de JavaScript par Id, mais cela ne fonctionne pas.
Toute aide sera vraiment appréciée.
Merci
Ensemble style= "display:none;"
. En définissant visible=false
, il ne rendra pas le bouton dans le navigateur. Ainsi, le script côté client ne s'exécutera pas.
<asp:Button ID="savebtn" runat="server" OnClick="savebtn_Click" style="display:none" />
le balisage html doit être
<button id="btnsave" onclick="fncsave()">Save</button>
Remplacez javascript par
<script type="text/javascript">
function fncsave()
{
document.getElementById('<%= savebtn.ClientID %>').click();
}
</script>
Si vous êtes prêt à utiliser jQuery:
<script type="text/javascript">
function fncsave()
{
$('#<%= savebtn.ClientID %>').click();
}
</script>
De plus, si vous utilisez .NET 4 ou mieux, vous pouvez faire le ClientIDMode == static
et simplifiez le code:
<script type="text/javascript">
function fncsave()
{
$("#savebtn").click();
}
</script>
Référence: article MSDN pour Control.ClientIDMode