2

我正在使用带有角度的 formio 来呈现我构建的自定义表单 - https://help.form.io/developer/info/angular/

我正在使用以下内容来捕获提交并调用我自己的逻辑,但是提交按钮保持禁用状态。我实际上并没有使用 formio 服务器端,那么如何在不更改源代码的情况下重新启用提交按钮?表单提交成功是否存在未记录的事件?我也尝试绑定到“formSubmission”事件。

$scope.$on('formSubmit', function(err, data) {
    event.preventDefault();
    submitForm();
}
4

2 回答 2

4

对于其他为此苦苦挣扎的人,您可以调用“submitDone”,但您需要从控制器进行 $broadcast,而不是 $emit($emit 上升到 $scope 链,广播下降)

$scope.$on('formSubmit', function(err, data) {
    event.preventDefault();
    submitForm();
}
function submitForm() {
    var error = doStuff();
    if ( error ) {
        $scope.$broadcast('submitError', error);
    } else {
        $scope.$broadcast('submitDone', 'Success');
    }
}
于 2017-06-02T09:12:50.133 回答
0

如果您使用的是纯 javascript,请使用“emit”触发事件并使用“on”拦截,试试这个

 formio.emit('submitError', res);// formio.emit('submitError', res);

默认显示红色背景的按钮 在此处输入图像描述

要拦截由emit触发的事件,请执行以下代码

formio.on('submitDone', function(res) { /*your code here*/ }
于 2021-06-03T18:36:26.217 回答