我正在尝试的表单代码:
@using (Html.BeginForm("ContactUs", "Home", FormMethod.Post, new { id = "frmContactUs", enctype = "multipart/form-data" }))
{
<div class="form_style">
@Html.TextBoxFor(m => m.Name, new { @placeholder = "Name", @class = "inputType" })
@Html.ValidationMessageFor(m => m.Name)
</div>
<div class="form_style">
@Html.TextBoxFor(m => m.Email, new { @placeholder = "Email", @class = "inputType" })
@Html.ValidationMessageFor(m => m.Email)
</div>
<div class="form_style">
@Html.TextAreaFor(m => m.Message, new { @placeholder = "Message", @class = "inputType texArea", @style = "resize: none" })
@Html.ValidationMessageFor(m => m.Message)
</div>
<div class="form_style">
<input type="submit" class="inputType Sub_btn" id="btnContactUs" value="SUBMIT" />
</div>
<input type="hidden" id="hdnContactUs" value="@Url.Action("ContactUs", "Home")" />
}
jquery ajax调用脚本:
var url = $('#hdnContactUs').val();
var Name = $('#Name').val();
var Email = $('#Email').val();
var Message = $('#Message').val();
$("frmContactUs").submit(function (e) {
e.preventDefault(); //prevent default form submit
$.ajax({
url: url,
data: { name: Name, email: Email, message: Message },
success: function (data) {
showMsg(data);
return false;
},
cache: false
});
return false;
});
这里我想要模型验证,但我不想发布我的表单,目前它的帖子给我的控制器jsonresult:
public JsonResult ContactUs(string Name, string Email, string Message)
{
JsonResult result = new JsonResult();
return Json(result, JsonRequestBehavior.AllowGet);
}
答案 0 :(得分:1)
这种情况正在发生,因为您有$("frmContactUs")
而不是$("#frmContactUs")
。您忘记了#
来自id。
答案 1 :(得分:0)
$("#frmContactUs").validate({
submitHandler: function(form) {
$(form).ajaxSubmit();
}
});
希望这会对你有所帮助。 阅读此jqueryvalidation