javascript - 以编程方式提交 Angular 表单,但仍然收到 HTML5 验证错误

标签 javascript angularjs html forms validation

我的页面顶部有一个保存按钮,一个搜索表单,然后是我可以编辑项目的表单。它看起来像这样:

<button type="button" ng-click="save()">Save</button>

<form name="searchForm" ng-submit="search()">
  <input type="text" ng-model="criteria" />
</form>

<form name="saveForm" ng-submit="save()">
  <input type="text" ng-model="item.field" required />
</form>

我希望我的保存按钮提交保存表单,而不是直接调用 save() ,因此如果必填字段为空,浏览器将提示用户填写。我该如何提交通过表单外的按钮访问表单?

最佳答案

如果您想使用 HTML5 验证,我很确定您必须使用真正的提交输入,而不是 Angular 按钮。

理论上,您可以在标准提交输入上使用 HTML5“form”属性来实现此效果。请参阅https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input#attr-form 。但是,您需要仔细检查浏览器兼容性。

如果这不起作用,我怀疑您将不得不退回到将提交输入放在标记中的表单内,然后使用“聪明的”CSS 将按钮重新定位到页面上您需要的位置。

关于javascript - 以编程方式提交 Angular 表单,但仍然收到 HTML5 验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27712461/

相关文章:

javascript - jQuery :contains works in FF, Safari 和 Chrome,而不是 Internet Explorer

javascript - vue实例访问外部js文件

javascript - 使 Angular HTTP 调用可重用

html - 如何在箭头周围绘制边框?

jquery - 两个并排的列,子项和子项的子项填充 100% 负边距

javascript - 添加参数以后退按钮重定向到上一个 url

javascript - 在 JavaScript 中处理作用域的正确方法

html - 在 Angular/Bootstrap 中使用编辑按钮输入

javascript - AngularJS 对象数组中属性的总和

javascript - 具有相同类的元素 id 的数组