как сформировать массив измененных значений в форме с помощью ng change

Если у меня есть форма с 3 полями, как я могу получить массив только измененных значений с помощью ng-change во время отправки формы.

<form name="myForm">
<input name="myInput" ng-model="myInput" type="text" ng-change="fn">
<input name="email" ng-model="email" type="email" ng-change="fn">

</form>

2 ответа

  1. Вы пытались использовать ng-submit в своей форме, чтобы получить значение на submit? что-то вроде этого:

    <form name="myForm" ng-submit="myFunction()">
    <input name="myInput" ng-model="myInput" type="text" >
    <input name="email" ng-model="email" type="email" >
    
    </form>
    
  2. Вы можете попробовать это:

    в HTML:

    <form name="myForm" ng-submit="submit()">
        <input name="myInput" ng-model="myInput" type="text" >
        <input name="email" ng-model="email" type="email" >
        <button type="submit">submit</button>
    </form>
    {{ud}}
    

    В контроллерах:

    $scope.ud = [];
    $scope.submit = function() {
        var elems = document.forms["myForm"].getElementsByTagName("input");
        console.log(elems)
        for(var i=0; i<elems.length;i++) {
          if(elems[i].value) {
            console.log(elems[i])
            $scope.ud.push(elems[i].value)
          }
        }
      }
    

    Это решит вашу проблему.

    Всего хорошего.