[英]jQuery does not work in IE but works with Chrome and Firefox
[英]Disabling double click works on Firefox, but does not work on Chrome
發布表單時,我需要防止雙擊asp.net按鈕。
我已經嘗試了以下jQuery代碼:
$(this).submit(function () {
$('.btn').prop("disabled", "disabled");
});
它可以在Firefox瀏覽器中使用,但不能在Chrome中使用。
這是我的asp.net按鈕的HTML:
<form name="aspnetForm" method="post" action="reset-password.aspx" id="aspnetForm">
<div class="orangeBTN">
<input type="button" name="ctl00$ctl00$content$content$btnSubmit" value="Submit" onclick="javascript:__doPostBack('ctl00$ctl00$content$content$btnSubmit','')" id="ctl00_ctl00_content_content_btnSubmit" class="btn pri" />
</div>
</form>
有沒有一種我可以通用的簡單方法?
在您的幫助下,非常感謝。
更新我
我包括.aspx html和現在似乎適合我的JavaScript。
<asp:Panel ID="pnlInput" CssClass="pnlInput" runat="server">
<fieldset id="resetPassRight">
<asp:Panel ID="pButtons" runat="server" CssClass="buttons">
<asp:Button ID="btnSubmit" Text="Submit" CssClass="btn pri" runat="server" />
</asp:Panel>
</fieldset>
</asp:Panel>
JavaScript:
<script type="text/javascript">
$(document).ready(function () {
$('.pnlInput fieldset .btn').one('click', function () {
$(this).trigger("click");
$(this).attr('disabled', 'disabled');
});
});
</script>
更新二
下面是我最終使用的jQuery代碼。 到目前為止,我認為它可行。
/** Start - This jQuery will disable double click */
$('.pnlInput fieldset .btn').one('click', function () {
$(this).trigger("click");
$(this).attr("disabled", 'disabled');
});
/** End - This jQuery will disable double click */
jQuery未執行的原因之一是asp按鈕具有以下屬性:
UseSubmitBehavior="false"
這阻止了客戶端代碼在不同瀏覽器中的正確評估。
您可以嘗試使用.attr()而不是.prop()
如果輸入具有type="button"
,它將不會觸發提交功能(甚至在FF上也不會,或者至少我無法獲得它),如您在此提琴上所看到的: http : //jsfiddle.net / 4ye9921e / (用空函數替換了目標以避免錯誤)
如果將輸入更改為type="submit"
,那么將觸發Submit函數,並且該按鈕將被禁用。 您可以在其他小提琴上看到它: http : //jsfiddle.net/4ye9921e/1/
所以,僅僅改變輸入到submit
,然后onsubmit事件將被觸發。
就我而言,這是可行的。 Chrome需要__doPostBack($(this).attr('name'),'')。
<asp:Button ID="Btn_AjouterFichier" runat="server" Text="Ajouter photo" CssClass="singleclick" />
$('.singleclick').click(function () {
$(this).attr('disabled', 'disabled');
__doPostBack( $(this).attr('name'), '')
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.