我有一段艱難的時間措辭我的問題。IE 11仍然提交沒有.submit()內部點擊處理程序的表單
基本上,當單擊表單中的提交按鈕時,我希望按鈕被禁用,並且按鈕文本被替換爲字體真棒圖標,直到POST請求通過。我有以下jquery。
$('div').on('click', '.btn-disabler', function() {
$(this).append("<i class='fa fa-spinner fa-pulse btn-loader'>").disable(true);
$(this).find('.btn-label').addClass('invisible');
$(this).css("background-image", "none");
if ($(this).parents('form') && !$(this).hasClass('btn-facebookauth')) {
$(this).parents('form').submit();
}
});
而我的表單的按鈕部分。
<form>
<button name="button" type="submit" class="btn btn-primary submit-button btn-disabler">
<span class="btn-label">Log in</span>
</button>
</form>
我的問題是IE 11在IE瀏覽器與上面的代碼,點擊後,按鈕上的文字消失,但英足總圖標不顯示,按鍵只是空白。表單提交正常。
當我刪除if語句:
$('div').on('click', '.btn-disabler', function() {
$(this).append("<i class='fa fa-spinner fa-pulse btn-loader'>").disable(true);
$(this).find('.btn-label').addClass('invisible');
$(this).css("background-image", "none");
});
按鈕正確顯示的圖標,並提交表單?爲什麼當我刪除.submit()時提交表單?在chrome中,當我刪除if語句時,該按鈕的圖標正確更改,但表單不提交它只是掛起(如預期的那樣)。
我基本上是試圖排除圖標不出現後單擊IE中的提交按鈕,而它在鉻中工作正常。
你試圖返回false? – 2pha
給你的表單一個id並在jQuery中寫一個提交處理程序。在提交處理程序中,添加一個event.preventDefault(); 。這會阻止提交表單。 –
@ 2pha我會在那裏放? – user4584963