Angular einfaches Formular senden

Oluwafisayo Oluwatayo 30 Januar 2023
  1. Die einfache Formularübermittlung mit der ng-model-Methode in Angular
  2. Das einfache Absenden des Formulars mit der ng-submit-Methode in Angular
Angular einfaches Formular senden

Während es ziemlich einfach ist, Formulare in regulärem HTML einzureichen, kann es für Angular eine ziemliche Tortur sein. Angular würde die Übermittlung von Formularen ständig unterbrechen, um Ihnen die Möglichkeit zu geben, die Daten vor dem Absenden zu manipulieren.

Wir werden uns Methoden ansehen, die eine erfolgreiche Formularübermittlung in AngularJS ermöglichen.

Zuerst schauen wir uns die ng-model-Methode an, die alle Daten in einem Eingabe- oder Textbereich sammelt und daraus ein Element macht, das der Benutzer sehen kann.

Die ng-submit-Methode bietet uns jedoch mehr Kontrolle über die Daten, die wir übermitteln. Wenn in einer Eingabe keine Aktion oder kein Element vorhanden ist, verhindert ng-submit das Absenden des Formulars.

Denken Sie daran, dass wir es hier mit AngularJS zu tun haben, nicht mit dem regulären Angular. Wir werden also hauptsächlich mit HTML und app.js arbeiten.

Die einfache Formularübermittlung mit der ng-model-Methode in Angular

Für die ng-model-Methode richten wir HTML wie folgt ein:

<div ng-app="myApp">
  <form name="saveTemplateData" action="#" ng-controller="FormCtrl">
    First name: <br /><input type="text" name="form.firstname" /> <br /><br />
    Email Address: <br /><input type="text" ng-model="form.emailaddress" />
    <br /><br />

    <textarea rows="3" cols="25">
Describe your reason for submitting this form </textarea
    >

    <br /><br />

    <input type="radio" ng-model="form.gender" value="female" />Female
    <input type="radio" ng-model="form.gender" value="male" />Male <br />

    <br /><br />

    <input type="checkbox" ng-model="form.member" value="true" /> Already a
    member <input type="checkbox" ng-model="form.member" value="false" /> Not a
    member

    <br /><br />

    <input type="file" ng-model="form.file_profile" id="file_profile" /><br />
    <input type="file" ng-model="form.file_avatar" id="file_avatar" />

    <br /><br />

    <input type="submit" ngClick="Submit" />
  </form>
</div>

Dann schreiben wir in die app.js diese Codes:

import angular from 'angular';
import '@uirouter/angularjs';

var app = angular.module('myApp', []);
app.controller('FormCtrl', function ($scope, $http) {
  $scope.data = {
    firstname: 'default',
    emailaddress: 'default',
    gender: 'default',
    member: false,
    file_profile: 'default',
    file_avatar: 'default',
  };
  $scope.submitForm = function () {
    console.log('posting data....');
    $http
      .post(
        'http://posttestserver.com/post.php?dir=jsfiddle',
        JSON.stringify(data)
      )
      .success(function () {
        /*success callback*/
      });
  };
});

In $scope.data werden alle Daten für die Übermittlung gespeichert.

Das einfache Absenden des Formulars mit der ng-submit-Methode in Angular

Das ng-submit bietet viel weniger und unkompliziertere Codierung.

Für HTML:

<!DOCTYPE html>
<html>

    <head>

        <title>Form input text</title>

        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>

    </head>

    <body>

        <div ng-app="myApp" ng-controller="myCtrl">

            <form ng-submit="submit(form)" >

                Firstname: <input type="text" ng-model="form.firstname" /><br />
                Lastname: <input type="text" ng-model="form.lastname" /><br />

                <hr />

                <input type="submit" value="Submit" />

            </form>
          
            <hr />          

            <p>Firstname: {{ form.firstname }}</p>
            <p>Lastname: {{ form.lastname }}</p>

            <pre>Submit Form: {{ formData }} </pre>

        </div>

       
	</body>

</html>

Dann in der app.js:

import angular from 'angular';
import '@uirouter/angularjs';

var app = angular.module('myApp', []);

app.controller('myCtrl', [
  '$scope',
  function ($scope) {
    $scope.submit = function (formData) {
      $scope.formData = formData;

      console.log(formData); // object
      console.log(JSON.stringify(formData)); // string
    };
  },
]);
Oluwafisayo Oluwatayo avatar Oluwafisayo Oluwatayo avatar

Fisayo is a tech expert and enthusiast who loves to solve problems, seek new challenges and aim to spread the knowledge of what she has learned across the globe.

LinkedIn

Verwandter Artikel - Angular Form