Как вставить данные в базу данных с помощью динамически генерируемых полей ввода с помощью ng-repeat? - PullRequest
0 голосов
/ 29 сентября 2018

Я создаю функциональность, в которой есть кнопка «Добавить» (+), которая добавляет поля ввода в html через угловой ng-repeat.Теперь мне нужно сохранить эти данные в базе данных, для которой мне нужна помощь.

Это мой HTML

-------------- HTML--------------

<!-- Multiple address -->
                        <table cellpadding="0" cellspacing="0">
                            <tr>
                                <th>Address 1</th>
                                <th>Address 2</th>
                                <th>Zipcode</th>
                                <th></th>
                            </tr>
                            <tbody ng-repeat="m in multiaddress">
                                <tr>
                                    <td><input type="text" id="addone_{{$index}}" value="{{m.addone}}" /></td>
                                    <td><input type="text" id="two_{{$index}}" value="{{m.addtwo}}" /></td>
                                    <td><input type="text" id="zipcode_{{$index}}" value="{{m.zipcode}}" /></td>
                                    <td><input type="button" ng-click="Remove($index)" value="Remove" /></td>
                                </tr>
                            </tbody>
                            <tfoot>
                                <tr>
                                    <td><input type="text" id="addone_{{$index}}" ng-model="addData.addone" ng-required="true" /></td>
                                    <td><input type="text" ng-model="addData.addtwo"/></td>
                                    <td><input type="text" id="zipcode_{{$index}}" ng-model="addData.zipcode" ng-required="true" /></td>
                                    <td><input type="button" ng-click="Add([$index])" value="Add" /></td>
                                </tr>
                            </tfoot>
                        </table>

------------------------- Мой контроллер -------------------------

/* For Dynamic address of new subadmin */
$scope.multiaddress = [];
$scope.addData = {};
/* Function to insert multi address input row */
$scope.Add = function(){
    validateData();
    function validateData(){
        var valid;
        valid = checkValid();
        if(valid == true)
        {
            var customer = {};
            customer.addone = $scope.addData.addone;
            customer.addtwo = $scope.addData.addtwo;
            customer.zipcode = $scope.addData.zipcode;
            $scope.multiaddress.push(customer);
            console.log(customer);
            /* Clear the TextBoxes. */
            $scope.addData.addone = "";
            $scope.addData.addtwo = "";
            $scope.addData.zipcode = "";
        }else{
            alert('Please fill details');
            return false;
        }
        function checkValid(){
            var valid = true;
            if($scope.addData.addone == null || typeof $scope.addData.addone == 'undefined' || $scope.addData.addone == ""){
                var valid = false;
            }else{
            }
            if($scope.addData.zipcode == null || typeof $scope.addData.zipcode == 'undefined' || $scope.addData.zipcode == ""){
                var valid = false;
            }else{
            }
            return valid;
        }
    }
};
/* Function to remove multi address input row */
$scope.Remove = function (index) {
    var name = $scope.multiaddress[index].addone;
    $scope.multiaddress.splice(index, 1);
}

Моя функция добавления и удаления работает очень хорошо.Теперь дело в том, что я не получаю никакого решения для сохранения этих данных в моей базе данных.Для отправки этих данных в БД мне нужна ng-модель, назначенная каждому входу.Но мой вход генерируется динамически внутри ng-repeat.Кто-нибудь может помочь мне с этим?

--- --- --- --- --- --- Обновление --- --- --- --- -- --- Прежде всего, это был вопрос новичка.Позвольте мне прояснить, что это сомнения / вопросы: 1. Как добавить ng-модель к динамически генерируемому вводу?2. Как отправить эти данные на сервер?

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Я не знаю, как вы не получаете данные?Возможно, вы не отправляете полные данные на сервер.В строке:

data: $scope.subadminData

Кажется, вы отправляете часть своих данных.Итак, после перехода на новые строки:

data: {'sub' : $scope.subadminData, 'address1' : $scope.multiaddress, 'address2' : $scope.addData}

Вы получаете все или более данных сейчас.Вы также можете увидеть, во-первых, вы только отправляли переменную, теперь вы отправляете несколько переменных.

0 голосов
/ 29 сентября 2018

Я попробовал решение для этого, которое работает - >>> Я изменил эту строку: data: $ scope.subadminData, this;данные: {'sub': $ scope.subadminData, 'address1': $ scope.multiaddress, 'address2': $ scope.addData}, теперь я могу отправить эти данные в бэкэнд.

Любойдругое решение приветствуется.:) -

...