Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS以symfony2形式阻止提交按钮_Javascript_Php_Angularjs_Symfony - Fatal编程技术网

Javascript AngularJS以symfony2形式阻止提交按钮

Javascript AngularJS以symfony2形式阻止提交按钮,javascript,php,angularjs,symfony,Javascript,Php,Angularjs,Symfony,我已经在symfony2中创建了表单,它在最后呈现了提交表单的按钮。当我添加ng app=“myApp”时,一切正常,但我无法提交此页面上的表单。为什么会这样?如何解除阻止 表格: 视图: 我们需要更多信息,您是否允许浏览器验证表单?删除: {{ form(form, { 'attr': { novalidate, }, }) }} 可能隐藏了弹出错误(与各种复杂表单字段一起发生) 当你说“我不能提交”时,提交按钮是否不能?错误发生在消费之后?好的说

我已经在symfony2中创建了表单,它在最后呈现了提交表单的按钮。当我添加
ng app=“myApp”
时,一切正常,但我无法提交此页面上的表单。为什么会这样?如何解除阻止

表格:

视图:


我们需要更多信息,您是否允许浏览器验证表单?删除:

{{ form(form, { 
    'attr': {
        novalidate,
    },
    }) 
}}
可能隐藏了弹出错误(与各种复杂表单字段一起发生)

当你说“我不能提交”时,提交按钮是否不能?错误发生在消费之后?

好的说法是:

因此,Angular会阻止默认操作(表单提交) 除非元素具有action属性,否则 指定的

因此,您可以将动作属性添加到表单中。在我的示例中,我使用的是grenerateUrl函数,但您应该生成当前路由的url(生成表单的控制器的路由)

编辑: 刚才发现这是一个重复的问题
(这个链接是最上等的答案)

你能添加一些代码吗?你在这里用angular吗?是的,我用select2脚本填充select2。我添加了代码。好的。首先$scope.forms是一个变量,您将其作为函数调用(为什么要执行
{{form(form)}}
?)。否则,您会看到GET请求的网络流量吗?{form(form)}是用于呈现表单的symfony函数。……不是吗
{[{form(form)}]}
?不,代码和您看到的一样简单。当我删除“ng应用程序”时,一切正常。“提交”按钮已启用,只是不提交表单。是否尝试删除自动验证?这是大多数最新浏览器的默认行为。
<html ng-app="flowApp">
<head>
    <link rel="stylesheet" href="{{ asset('external-libs/select2/select2.css')}}">
    <script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
    <script src="{{ asset('external-libs/select2/select2.js')}}"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.5/angular.min.js"></script>
    <script src="{{ asset('external-libs/select2.js')}}"></script>
    <script src="{{ asset('external-libs/app.js') }}"></script>
        <style>
                .select2-choice { width: 220px; }
        </style>
</head>
<body>
    <div class="container" ng-controller="MainCtrl">
    {{ form(form) }}
    </div>
</body>
</html>
var app = angular.module('flowApp', ['ui.select2']).config(function($interpolateProvider){
        $interpolateProvider.startSymbol('{[{').endSymbol('}]}');
    }
);

app.controller('MainCtrl', function ($scope, $element,$http) {


    $http({method: 'GET', url: 'companies.json'}).
        success(function(data, status, headers, config) {

         $scope.entities = data.entities;
         $scope.form = {company: $scope.entities[0].value };
         console.debug(data.entities);
    });
});
{{ form(form, { 
    'attr': {
        novalidate,
    },
    }) 
}}
$data = array();
            $form = $this->createFormBuilder($data,
                array("action" => $this->generateUrl("route_to_curent_path"))))
                ->add('field', 'text')
                ->add('submitButton', 'submit')
                ->getForm();