我无法在提交表单之前调用我的javascript,因此我可以进行一些客户端验证。我还想在txtVideo提交给控制器之前改变它的值。有没有一个很好的方法来做到这一点,或者我必须设置一个隐藏的字段(我想我认为有点hacky但会工作)
@section scripts{
<script>
$("#VideoForm").submit(function () {
alert("test");
});
</script>
@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { @class = "form-horizontal", role = "form", name="VideoForm" }))
{
@Html.AntiForgeryToken()
<div class="row">
<div style="margin:5px auto; text-align: center;">
<img src="~/Content/Images/OMB_Logo.png" />
</div>
</div>
<div class="row">
<div class="col-lg-12" style="margin: 5px auto;">
<input type="text" name="txtVideo" class="form-control input-lg" style="margin: 0px auto" />
</div>
</div>
<div class="row">
<div style="margin: 5px auto; text-align: center;">
<input type="submit" class="btn btn-primary btn-lg" value="Submit Video" />
</div>
</div>
}
答案 0 :(得分:0)
使用Jquery表单验证插件:
http://jquery.bassistance.de/validate/demo/
并在表单提交事件中执行此操作:
$('form[name="VideoForm"]').submit(function(){
$(this).validate();
// or
$('form[name="VideoForm"]').validate();
});
还有一件事,你正在设置表单名称atttribute到视频表单和jquery选择器,你正在使用id,它的错误。
如果你想申请id选择器,请执行以下操作:
@using (Html.BeginForm("Index",
"Home",
FormMethod.Post,
new { @class = "form-horizontal",
role = "form",
id="VideoForm" }))
{
}