如何重新启用formio提交按钮?

时间:2017-06-02 08:17:32

标签: form-submit formio

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

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

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

2 个答案:

答案 0 :(得分:3)

对于任何挣扎于此的人,你可以调用'submitDone',但是你需要从你的控制器广播$,而不是$ 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');
    }
}

答案 1 :(得分:0)

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

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

默认会显示红色背景的按钮 enter image description here

拦截由emit触发的事件,执行下面的代码

formio.on('submitDone', function(res) { /*your code here*/ }