Предварительно заполнить угловую форму текстом - PullRequest
0 голосов
/ 31 августа 2018

У меня есть угловая форма, которая принимает учетные данные сервера и тестирует соединение с этим сервером. Одна из моих форм берет IP-адрес сервера, и я либо хочу предварительно заполнить поле формы "https://"", либо добавить эту же строку к значению IP после отправки формы. Я попытался использовать ng-init="default_settings.al_address='https://'" и кажется, работает, когда страница загружается, но поле закрывается, когда страница закончила загрузку. Вот код из моего шаблона:

                    <div class="small-pad">
                        <form novalidate class="form-large">
                            <div class="form-title pad"><b>Server IP Address</b></div>
                            <input type="text" class="form" ng-value="default_settings.al_address"
                                   ng-model="default_settings.al_address"
                                   ng-change="test_al_connect_success = false; test_al_connect_fail = false"/>
                        </form>
                    </div>

                    <div class="small-pad">
                        <form novalidate class="form-large">
                            <div class="form-title pad"><b>Username</b></div>
                            <input type="text" class="form" ng-value="default_settings.al_username"
                                   ng-model="default_settings.al_username"
                                   ng-change="test_al_connect_success = false; test_al_connect_fail = false"/>
                        </form>
                    </div>

                    <div class="small-pad">
                        <form novalidate class="form-large">
                            <div class="form-title pad"><b>API Key</b></div>
                            <input type="text" class="form" ng-value="default_settings.al_api_key"
                                   ng-model="default_settings.al_api_key"
                                   ng-change="test_al_connect_success = false; test_al_connect_fail = false"/>
                        </form>
                    </div>

                    <div class="pad-button">

                        <button type="button" class='btn btn-default btn-style-blue'
                                ng-disabled="al_address=='' || al_username=='' || al_api_key==''
                                || testing_connection"
                                ng-click="btn_al_connect()">Test connection</button>
                        <img ng-if="show_al_waiting" class="waiting-gif" src="/static/images/loading.svg">
                        <i class="fas fa-check smtp_result_icon icon-green" ng-if="test_al_connect_success"></i>
                        <i class="fas fa-times smtp_result_icon icon-red" ng-if="test_al_connect_fail"></i>
                        <div class="pad-head indent" ng-if="test_al_connect_fail || test_al_connect_success">
                            //al_test_txt//
                        </div>

                    </div>

Вот мой контроллер:

$ scope.btn_al_connect = function () { / * Вызывается кнопкой «Проверить соединение» для сервера * /

    // Causes loading sequence to display at front end
    _.defer(function() {
        $scope.$apply(function () {
            $scope.test_al_connect_success = false;
        });
    });
    _.defer(function () {
        $scope.$apply(function () {
            $scope.test_al_connect_fail = false;
        });
    });
    _.defer(function () {
        $scope.$apply(function () {
            $scope.show_al_waiting = true;
        });
    });
    _.defer(function () {
        $scope.$apply(function () {
            $scope.testing_connection = true;
        });
    });

    // Passes settings given by user to backend to run a connection test
    socket.emit('fe_test_connection_al',
        $scope.default_settings.al_address,
        $scope.default_settings.al_username,
        $scope.default_settings.al_api_key,
        function(al_test_output){

        _.defer(function () {
            $scope.$apply(function () {
                $scope.show_al_waiting = false;
            });
        });

        if(al_test_output[0]) {

            _.defer(function () {
                $scope.$apply(function () {
                    $scope.test_al_connect_success = true;
                });
            });
            _.defer(function () {
                $scope.$apply(function () {
                    $scope.al_test_txt = al_test_output[1];
                });
            });

        }

        else {

            _.defer(function () {
                $scope.$apply(function () {
                    $scope.test_al_connect_fail = true;
                });
            });
            _.defer(function () {
                $scope.$apply(function () {
                    $scope.al_test_txt = al_test_output[1];
                });
            });

        }

        _.defer(function () {
            $scope.$apply(function () {
                $scope.testing_connection = false;
            });
        });

    });

};

Любая помощь будет принята с благодарностью!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...