AngularJS предотвращает отправку форм

0

Я сделал очень простую форму:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <script src="/assets/libs/angular/angular.js" charset="utf-8"></script>
    </head>
    <body ng-app="app" ng-controller="myCtrl">
        <form  method="post">
            <input type="text" name="name" value="asas">
            <input type="submit" name="name" value="Submit">
        </form>

        <script type="text/javascript">
            angular.module('app', []).controller('myCtrl', [function(){

            }]);
        </script>
    </body>
</html>

Раньше у меня не было таких проблем, но теперь, когда я нажимаю кнопку отправки, угловые препятствуют отправке формы.

Я попытался добавить атрибут novalidate в форму, но без шансов.
Также попытался использовать ng-submit чтобы вручную отправить форму, но она не работает.

Я использую AngularJS v1.5.8

  • 0
    Где вы пытаетесь отправить его? Что вы пытались вставить в функцию ng-submit ?
  • 2
    Добавьте действие в вашу форму. Но обычно формы в угловых приложениях не представлены в традиционном веб-смысле 1.0. Они передаются путем вызова метода контроллера, который обычно делает запрос AJAX.
Показать ещё 4 комментария
Теги:
forms

2 ответа

1
Лучший ответ

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

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <script src="/assets/libs/angular/angular.js" charset="utf-8"></script>
    </head>
    <body ng-app="app" ng-controller="myCtrl">
        <form  method="post" action="/form-destination">
            <input type="text" name="name" value="asas">
            <input type="submit" name="name" value="Submit">
        </form>
    </body>
</html>

Без назначения для подачи в форму не будет работать.

0

Вы должны поместить функцию отправки в контроллер, чтобы сообщить Angular, какие действия следует предпринять. И добавьте ng-submit в форму, чтобы сделать залог с этой функцией. Поэтому, когда вы нажимаете кнопку отправки, вызывается функция ng-submit.

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="/assets/libs/angular/angular.js" charset="utf-8">  </script>
</head>
<body ng-app="app" ng-controller="myCtrl">
    <form ng-submit="submit()">
        <input type="text" name="name" value="asas">
        <input type="submit" name="name" value="Submit">
    </form>

    <script type="text/javascript">
        angular.module('app', []).controller('myCtrl', ['$scope', function($scope){
            $scope.submit = function(){
                // your submit process
            }
        }]);
    </script>
</body>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню