我在使用 jQuery 验证和帖子时遇到问题。我正在使用 MVC 4,但这不重要。我已经完成了查看源代码,并且设置了所有正确的 HTML 5 属性。
以下是我使用 jQuery 发布帖子的方式:
<script type="text/javascript">
$(document).ready(function () {
$('#btnsend').click(function (e) {
if ($("#sendForm").validate().form()) {
var contact = {
Name: $('#Name').val(),
Email: $('#Email').val(),
Message: $('#Message').val()
};
$.post('/Contact/Send', contact, function () {
$('#cSet').fadeOut(1000, "", function () {
$('#success').delay(1000).fadeIn(1000, "", function () {
$('#success').html("<h2>The message is sent. Thank you!</h2>");
});
});
});
}
else {
return false;
}
//return false;
});
});
</script>
这是电子邮件文本框的 div 内的代码:
<div>
@Html.TextBox("Email", null, new { @style = "width:400px", @Type = "email", @placeholder="Your email" })
@Html.ValidationMessageFor(m => m.Email)
</div>
我删除脚本块一切正常。使用该脚本,电子邮件类型验证无法正常工作。我看到验证器在闪烁,但这并没有阻止帖子通过。
任何帮助表示赞赏!提前致谢!
我应该改用 $.Ajax 吗?
如果按钮类型为提交,则会出现更多验证闪烁
<div>
<input id="btnsend" type="submit" value="Send" />;
</div>
如果我将其更改为按钮,它不会闪烁或停止发布。