Javascript 不使用ng click提交参数

Javascript 不使用ng click提交参数,javascript,angularjs,Javascript,Angularjs,我正在尝试在angular应用程序中提交标准表单。 在我尝试将ng click添加到表单的submit按钮之前,一切都很顺利 点击的动作只是为了给用户一些反馈 我的行为有点奇怪。提交已经完成,对单击行为的调用也都被调用,但是,表单中没有提交任何参数 我在谷歌上搜索了一下,人们似乎说使用ng单击表单可以禁用提交功能,但事实并非如此,除了没有发送的表单参数外,其他所有参数都可以正常工作 我知道我可能可以重新定义我自己的提交函数,使用ng submit截取帖子,然后自己做帖子,这似乎有些过分,因为我想

我正在尝试在angular应用程序中提交标准表单。 在我尝试将ng click添加到表单的submit按钮之前,一切都很顺利 点击的动作只是为了给用户一些反馈

我的行为有点奇怪。提交已经完成,对单击行为的调用也都被调用,但是,表单中没有提交任何参数

我在谷歌上搜索了一下,人们似乎说使用ng单击表单可以禁用提交功能,但事实并非如此,除了没有发送的表单参数外,其他所有参数都可以正常工作

我知道我可能可以重新定义我自己的提交函数,使用ng submit截取帖子,然后自己做帖子,这似乎有些过分,因为我想做的几乎是可行的。 (在这种情况下,如何从角度回调中获取表单参数?)

更新 这里是一个活生生的例子:您选中一个框并提交,URL上没有任何参数。 如果您编辑文件并删除ng,请单击“提交”按钮,它将正常工作

<form ng-app="test" action="/echo/jsonp" name="orders" target="_blank" ng-controller="test">
    <table>
    <tr ng-repeat="order in [{orderId:1}, {orderId:4}]" >
        <td>
            <input  type="checkbox" name="order_ids{{i}}" value="{{order.orderId}}"></input>
        </td>
        <td>
            {{order.orderId}} : {{ order.checked}}
        </td>

    </tr>
    </table>
    <input type="submit" name="action" value="Picking List" class="btn btn-primary picked" ng-clik="submit(true)">
</form>

{{order.orderId}:{{order.checked}
解决方案
发现了问题。即使真正的代码不是我发布的代码。在兰登的帮助下,我设法解决了这个问题。问题是我在表单声明中有一个硬编码数组(不像我的示例中那样在ng repeat中)。(从角度来看,它是硬编码的,但实际上是在运行时生成的)。将此数组移动到顶部(与ng ap相同),解决了问题。

您是否在所有
输入和
选择标记上设置
名称属性?我想大多数有角度的例子不包括
name
属性,因为提交表单似乎已经成为过去

下面的简化示例效果良好。我需要查看您的特定代码,以帮助您解决可能存在的其他问题

HTML:


你能分享一下吗?我给它加了一个例子。看见update@mb14在此添加此项以进行澄清。您的JSFIDLE有一个错误(请检查控制台)。这就是它不起作用的原因。我在下面的回答的其他注释中解释了这个错误。是的,我设置了name属性(当我删除ng click时,该示例有效)。我在ng repeat中使用了复选框(所有人都有相同的名字,所以我得到了一个列表)@mb14您能在JSFIDLE或plnkr或您自己的域上复制您的问题吗?否则真的帮不了你。我修改了我的示例以提交复选框,结果是一样的:您的示例不起作用。我的意思是它没有在URL中设置参数(您可以通过在表单中添加target=“\u blank”来检查它)。URL中没有参数,我错了,它工作了。我将试着把我的例子用英语复述一下jsfiddle@mb14你的控制台在那把小提琴上有一个严重的错误,因为你不能像那样排列一组对象。修正:你当然会想把你的复选框命名为唯一的,这样你就可以把所有的东西都取回。
<form ng-app="test" ng-controller="test" action="/echo/jsonp/" method="get">
    <input type="text" name="value1" ng-model="value1"/>
    <input type="text" name="value2" ng-model="value2"/>
    <input type="submit" ng-click="submit()">
</div>
var app = angular.module('test', []);

app.controller('test', function ($scope, $http) {
    $scope.value1 = "val 1 here";
    $scope.value2 = "and val 2 here";

    $scope.submit = function () {
        alert('it should submit now, if it worked, you\'ll see some json');
    }
});