【发布时间】:2019-09-17 21:57:02
【问题描述】:
我有一个简单的表格
HTML
<form action="@Url.Action("Controler", "FES")" method="POST">
<button name="upload" type="submit" id="upload-fes-btn-control" class="btn btn-danger">Contrôler</button>
</form>
提交时的请求时间有时可能会很长(超过30s,bc of business logic on big file...)
我想在用户单击按钮后更改按钮的值。目标是显示字体很棒的加载器而不是初始文本 (<i class="fas fa-spinner fa-pulse"></i>)。有 jQuery sn-p 我用来实现这个...
jQuery
$("#upload-fes-btn-control").click(function () {
$(this).attr('value', '<i class="fas fa-spinner fa-pulse"></i>');
});
由于控制器中的此代码,我遇到了错误
从客户端检测到有潜在危险的 Request.Form 值
控制器
if (Request.Form["upload"] != null)
{
//Logic with ViewModel...
}
如何将按钮中显示的文本从 text 更改为 fa image loader 而不会引发该错误?
【问题讨论】:
-
隐藏它并显示加载器
-
实现此目的的一种方法是使用一个隐藏的 div,其中包含加载程序。然后单击,隐藏按钮并使用加载器显示隐藏的 div。
-
不要将 HTML 加载器设置为按钮的值,改用
$(this).html('<i class="fas fa-spinner fa-pulse"></i>');
标签: javascript jquery asp.net-mvc forms font-awesome