I have page with form:
@using (Html.BeginForm("Create", "Theme", FormMethod.Post, new { id = "frm_post", enctype = "multipart/form-data" }))
{
@Html.ValidationSummary(true)
@Html.TextBoxFor(model => model.Name)
@Html.ValidationMessageFor(m => m.Name)
<input type="image" src="img.png"
onclick="javascript:if(func()){document.getElementById('frm_post').submit();}else{return false;}"/>
}
I included scripts to page:
<script src="@Url.Content("~/Scripts/jquery-1.5.2.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
I have such strings in web.config:
<appSettings>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
I have [Required] for Name in Model.
But when I left textbox Name empty and submit form, error message is shown for some seconds and then page reload. How can I stop reloading of page?
O-o-ops… I just should remove form.submit() from onclick event of my button.
So, if I use
it works fine.