我需要onsubmit表单上的属性的功能- 即当我调用此onsubmit函数时,它必须返回truthy以便表单发布.但是我想通过角度函数调用来执行此操作,其方式如下:
<form id="form-submit-canvas" autocomplete="on" enctype="multipart/form-data" accept-charset="UTF-8" method="POST" onsubmit="{{FormSubmit.validate()}}" action="{{FormSubmit.SUBMIT_URL}}" novalidate>
Run Code Online (Sandbox Code Playgroud)
但是,上面给出了关于使用插值的错误onsubmit.我尝试放入ng-submit并且它不起作用,因为action我设置的属性被覆盖.
不确定它是否仍然适用于你,但我一直在与类似的问题作斗争.
以下回答让我走上正轨:https://stackoverflow.com/a/17769240/1581069
所以,总结一下所需的步骤:
你应该在你的电话中调用纯javascript(无角度的)onsubmit(请注意:如果你返回false那里=>表格将不会被提交):
<form id="form-submit-canvas" ... name="fooForm" onsubmit="return externalValidate();" ...
Run Code Online (Sandbox Code Playgroud)并实现将方法移交给角度,如:
function externalValidate(){
return angular.element($("#form-submit-canvas")).scope().validate();
}
Run Code Online (Sandbox Code Playgroud)
validate()方法应该只是您之前提到的方法(在角度控制器中实现).externalValidate()应该在任何角度特定组件之外实现.此外,请确保从validate()方法中返回正确的结果(以防止表单提交).也许是这样的:
$scope.validate = function () {
// TODO implement whatever magic you need prior to submission
return $scope.fooForm.$valid;
}
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
10943 次 |
| 最近记录: |