将禁用阻止提交表单元素

时间:2014-12-22 08:17:50

标签: html angularjs forms

正如在HTML表单中所述,将阻止所有已禁用的表单文件在表单提交上提交。

在Angular JS中,如果我对输入字段使用了ng-disable,那么如果我这样做,那么该字段是否真的被提交

<form>
 <input type="text" ng-disabled="true" name="foo">
 <button type="submit">submit</button>
</form>

如果不是为什么?在这个问题上感觉很傻但有点混淆

2 个答案:

答案 0 :(得分:0)

如果disabled的值为真值,则库会在元素上设置布尔ng-disabled属性。我相信official documentation在这个问题上非常明确。我提到的部分:

  

HTML规范不要求浏览器保留布尔属性的值,例如disabled。 (它们的存在意味着真实,它们的缺失意味着错误。)如果我们将Angular插值表达式放入这样的属性中,那么当浏览器删除属性时绑定信息将会丢失。 ngDisabled指令解决了disabled属性的此问题。浏览器不会删除此补充指令,因此提供了存储绑定信息的永久可靠位置。

答案 1 :(得分:0)

你的例子

<form>
 <input type="text" ng-disabled="true" name="foo">
 <button type="submit">submit</button>
</form>

您要将ng-disabled设置为true,以便在表单中添加disabled属性,如果您提交表单,如HTML表单中所述,将阻止所有已禁用的表单文件从提交表格提交,所以

  1. 使用普通表单提交,即以html方式type="submit",如果ng-disabled中的值设置为false或返回false,则输入值将仅通过表单发布。

  2. angularjs ng-submit中的
  3. 会发生同样的事情,即表单只是在提交表单后可以调用方法。