MVC架構幫了我們做很多工作,
但是在client方面,真的還是要自己多下點工夫比較好
如果使用者故意用北斗百裂拳做一個表單多次提交(click submit button ) 的動作
會有意想不到的結果
(不過,如果是server效能差或是需要大量運算才能回應時,這真的不能怪user手賤,像我耐性就很差了,會到處亂點的)
這時,要用以下的方式:
請在你表單的script section做以下的調整(真的,加入就可以了,不用改,因為這是非入侵性的寫法)
========================================
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
<script>
$(document).on('invalid-form.validate', 'form', function () {
var button = $(this).find('input[type="submit"]');
setTimeout(function () {
button.removeAttr('disabled');
}, 1);
});
$(document).on('submit', 'form', function () {
var button = $(this).find('input[type="submit"]');
setTimeout(function () {
button.attr('disabled', 'disabled');
}, 0);
});</script>
}
============================================
這時,就算是表單驗證不成,submit button還是會恢復可用狀態
很好用的
這是我在這裡所找到的解決方法,提供給需要的朋友參考
沒有留言:
張貼留言