Сбросить форму после отправки с помощью Angular JS - PullRequest
0 голосов
/ 27 июня 2018

Я хочу сбросить поля формы после отправки формы, мой код работает нормально, но здесь для очистки поля ввода я написал так: все поля флажков все поля флажков, которые я должен написать.

$scope.appointmentForm = function() {
$scope.formData = {};
$http({
    method: "POST",
    url: "appointment_mail.php",
    data: {
        date: $scope.appt_date,
        fname: $scope.fname,
        lname: $scope.lname,
        email: $scope.email,
        notes: $scope.notes,
        services: $scope.services,
        category: $scope.category,
        address: $scope.address,
        timings: $scope.appt_timings,
        phone: $scope.phone,
        services: $scope.services,
        category: $scope.category
    },
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
    }
}).then(function(response) {
    data = response.data;
    if (!data.success) {
        // if not successful, bind errors to error variables
        $scope.errorFname = data.errors.fname;
        $scope.errorLname = data.errors.lname;
        $scope.errorMail = data.errors.email;
        $scope.errorPhone = data.errors.phone;
        $scope.errorNotes = data.errors.notes;
        $scope.errorAddress = data.errors.address;
        $scope.messages = null;
    } else {
        // if successful, bind success message to message
        $scope.fname = '';
        $scope.lname = '';
        $scope.email = '';
        $scope.note = '';
        $scope.address = '';
        $scope.phone = '';
        $scope.appointment_form.$setPristine();
        $scope.messages = data.messages;
        $timeout(function() {
            // Loadind done here - Show message for 3 more seconds.
            $timeout(function() {
                $scope.messages = false;
            }, 3000);
        }, 2000);
        //From here is there any other alternative way
        $scope.category = {
            "red": "",
            "blue": "",
            "green": "",
        }
        $scope.services = {
            "abc": "",
            "xyz": "",
        }
        $scope.appt_timings = "";
        $scope.notes = "";
        $("#iva_apptdate").datepicker('setDate', null);
    }
}, function(error) {});
}
});
<div class="check-wrap">
  <div class="cat">
    <span class="checkbox">
      <input type="checkbox" name="category" checked data-ng-model="iva_category.red">                                                               
      <label>Red
      </label>
    </span>
  </div>
  <div class="cat">
    <span class="checkbox">
      <input type="checkbox" name="category" data-ng-model="category.blue">
      <label>Blue
      </label>
    </span>
  </div>
  <div class="cat">
    <span class="checkbox">
      <input type="checkbox" name="category" data-ng-model="category.green">
      <label>Green/label>
        </span>
      </div>
  </div>

У меня вопрос, есть ли другой способ сделать это, потому что здесь я должен написать больше кода, чтобы очистить поля ввода флажков. Не стесняйтесь сказать, если что-то не так.

...