[英]disable submit button in mvc after server side model validation passes
[英]ASP.NET MVC: Disable Submit button if Client Validation passes
我有一個啟用了客戶端驗證的簡單MVC4表單:
@{ Html.EnableClientValidation(); }
@{ Html.EnableUnobtrusiveJavaScript(); }
@using (Html.BeginForm("Search", "Search", FormMethod.Post, new { id = "frmMain" }))
{
@Html.AntiForgeryToken() .....
<input type="submit" value="Search" id="btnSubmit" />
當用戶單擊客戶端上的提交和所有驗證通過時 ,我希望按照下面的jQuery禁用提交按鈕。 我怎么知道驗證是否已通過我的jQuery腳本中的客戶端?
<script type="text/javascript">
$(document).ready(function () {
$('input[type=submit]').click(function (e) {
$(this).attr('disabled', true);
$(this).attr('value', 'Working');
$('#frmMain').submit();
});
});
您可以將此代碼掛鈎到表單驗證器中。 只需確保它在jquery.validator.unobtrusive之后執行。
<script>
$("#you-form-id").data("validator").settings.submitHandler = function(form) {
$("#submit-button").attr("disabled",true).val("Working");
form.submit();
};
</script>
從控制器操作返回partail時我遇到了一些問題。 相反,我掛鈎到提交函數並檢查表單是否有效如下:
$('form').submit(function () {
if ($(this).valid()) {
$('#order-form-submit-button').attr("disabled", true).val("wait...");
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.