2016-10-31 5 views
1

Я проверяю &, представляя простую форму с использованием угловых символов, форма, похоже, выполняет некоторую начальную проверку, но кнопка отправки не регистрирует или не выполняет заданную ей угловую функцию. Что я делаю не так?angularjs submit не работает

Главная app.js

var quora=angular.module("quora-app",['q-controller-1','ngRoute']); 
quora.config(function ($routeProvider) { 
    $routeProvider 
     .when('/edit',{ 
      templateUrl:'../resources/views/forms/edit.blade.php', 
      controller:'q-master-1' 
     }); 
}); 

Контроллер

angular.module("q-controller-1",[]) 
    .controller("q-master-1",['$scope',function ($scope) { 
     $scope.update=function(value,text) { 
      $scope.id=value; 
      $scope.putText=text; 
     } 
     $scope.validate=function(updateInfo) { 
      console.log(updateInfo); 
      if($scope.update.$valid) { 
       $scope.test1=$scope.id 
       $scope.test2=$scope.updateInfo.qText 
      } 
      else 
       console.log("no") 
     } 
    }]); 

edit.blade.php

<form name="update" method="POST" action="edit.blade.php" ng-submit="validate(updateInfo);" onsubmit="return false;" > 
    <b ng-show="update.question.$dirty && update.question.$error.required">Invalid</b> 
    <input type="text" name="question" ng-required="true" ng-minlength="3" ng-value="putText" ng-model="updateInfo.qText"> 
    <input type="submit" name="submit" value="Update" ng-show="update.$valid"> 
</form> 

Файл, где исполнение инициирует

@{{ test1 }} 
@{{ test2 }} 
@section('list-questions-answers') 
    <div ng-view></div> 
    <ul> 
     @foreach($listQuestionsAnswers as $q) 
      <li> 
       <a href="{{url('/questions/'.$q->question_id)}}">{{ $q->question }}</a> 
       Options: <a href="#edit" ng-click="update({{ $q->question_id }},'{{ $q->question }}')">Edit</a> 
      </li> 
      @foreach($q->answers as $a) 
       <ul> 
        <li>{{ $a->answer }}</li> 
       </ul> 
      @endforeach 
     @endforeach 
    </ul> 
@endsection 

Загружается ng-view, но кнопка отправки не работает или ничего записывает!

+0

Попробуйте удалить атрибут onsumbit! –

+0

, тогда он будет подаваться как обычная форма, что бесполезно! –

+1

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

ответ

2

Как упоминалось в комментариях, проблема была связана с атрибутом action в тегах формы, так как он хорошо работает с родными формами, но при работе с Angular это поведение не соответствует.

Как угловой пытается вызвать функцию ng-submit, но метод действия пытается обработать URL-адрес запроса.

Альтернативный подход:

Вместо удаления ng-submit и on submit, actionpost и все, что, и просто добавить ng-click на кнопку отправки и использовать ng-disabled отключить кнопку отправки, пока форма не является действительным.

+0

@ Джаскаран вы можете принять это как ответ, это тоже поможет другим! –

Смежные вопросы