我的mvc视图中有以下输入
<input class="input-group-field" id="name" name="name" type="text" size="1" required="">
<input class="input-group-field" id="email" name="email" type="email" size="1" required="">
我的MVC View仅使用ajax请求,没有模型绑定。
我的Ajax请求在按钮点击事件中被触发。
我知道没有表单标签,html 5验证无效。
我尝试围绕输入设置表单,并阻止表单提交。
$('#valForm').submit(function (e) {
e.preventDefault();
});
按钮:
<button class="button green post" type="submit">Submit</button>
但是按钮上的点击事件仍然会被触发。
$('.button.post').on('click', function () {
//fires
});
如果我将按钮监听器从单击更改为提交,则不会发生任何事情。
$('.button.post').on('submit', function () {
// does not fire fire
});
任何我想如何在不实际提交表单的情况下触发客户端html5验证?
由于
答案 0 :(得分:0)
您可以通过多种不同方式解决此问题。我不知道您是如何定义表单/表单标签的,但是因为您发布了按钮,我可以看到为什么您的点击事件没有被捕获。你的选择器错了。
此选择器
$('.button.post')
将anthing与类按钮和类帖匹配。您的按钮没有类按钮,因此您应该将选择器更改为
$('button.post')
代替。
更新:我重读了你的帖子。看起来您的按钮处理程序已经被触发,这意味着您在此处发布问题时可能会输入错误。您还希望在不加总页面的情况下触发html5验证。
你应该得到这样的东西:
$('form').on("submit", function(e) {
e.preventDefault();
});