Jquery 未调用mvc ajax模式验证
我有一个简单的模式表单mvc/bootstrap/jquery 在我的头脑中,还有其他的东西Jquery 未调用mvc ajax模式验证,jquery,twitter-bootstrap,asp.net-mvc-4,Jquery,Twitter Bootstrap,Asp.net Mvc 4,我有一个简单的模式表单mvc/bootstrap/jquery 在我的头脑中,还有其他的东西 <script src="/Scripts/jquery.unobtrusive-ajax.js"></script> <script src="/Scripts/jquery.validate.js"></script> <script src="/Scripts/jquery.validate.unobtrusive.js"></sc
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
警报将触发,因此我知道我正确地初始化了它。
但是当我提交时,submitSendEmail javascript不会被触发,表单默认的sumbit是。验证也是如此,所以我假设javascript中有错误,但控制台中没有报告任何内容
当我在某个地方读到validate的工作原理时,我已经给出了元素的名称
那么我做错了什么呢?将脚本标记放在前面。这与99%的脚本Modernizer是一个普遍的例外。这很可能不是问题所在,因为它将初始值设定项包装在$function{…}中;但是仍然是很好的实践。为什么不使用紧密绑定的视图?您可以避免手动添加验证的所有麻烦。。只需创建一个模型并向其中添加数据注释,其余的一切都将由框架负责。@NikiteshKolpe此表单将在许多不同的页面上调用,所有这些页面都已由viewmodels支持。你建议我在所有视图模型中添加一个输入视图模型吗?这是局部视图吗?是的。我可以很容易地创建一个EmailFormInputModel,但是由于partial是一个绑定到列出许多客户的页面的模式弹出窗口,这难道不会在我的IList中创建许多不相关的对象吗?
<div class="modal fade" id="send-email">
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3>Email Documents</h3>
</div>
<div class="modal-body">
@using (Html.BeginForm("Email", "Recommendations", FormMethod.Post, new { id = "emailform" name="emailform"}))
{
<input type="hidden" id="enquiryId" name="enquiryId" />
<span>Email Address:</span><input type="text" id="emailAddress" name="emailAddress" />
<input type="submit" class="icon-envelope center">
}
<div id="validationSummary" class="validation-summary">
<ul></ul>
</div>
<div class="modal-footer">
<a href="#" class="btn" data-dismiss="modal">Close</a>
</div>
</div>
initArticleModal = function () {
alert('in validate');
$("#emailform").validate({
rules: {
emailAddress: { email: true, required: true }
},
messages: {
emailAddress: "Email Address is Required"
},
errorContainer: "#validationSummary",
errorLabelContainer: "#validationSummary ul",
wrapper: "li",
submitHandler: function (form) {
submitSendEmail($(form));
}
});
}