首先解雇的是:提交还是ng-click?

时间:2014-10-24 00:05:42

标签: html5 angularjs forms submit angularjs-ng-click

首先,请原谅我,如果我的英语不好,那不是母语。

所以,我设置了一个返回最多20个项目的搜索表单,如果有更多项目,那么用户可以在页面之间切换。因此会有未知数量的页面。以下是我现在的工作方式:(有两页的例子)

    <form class="searchForm" method="POST" action="~/Search/Products">
                            <input type="hidden" name="keyword" value="@Model.Keyword" />
                            <input type="hidden" name="pagenum" value="{{choosedPage}}" id="page" />

                            <button type="submit" ng-click="choosedPage=1" class="btn btn-primary">1</button>
                            <button type="submit" ng-click="choosedPage=2" class="btn btn-primary">2</button>
                    </form>

因此,当用户点击按钮时,它会更改&#34; choosedPage&#34;并直接使用我们想要的页面触发提交操作。我检查一下,一切正常

但是虽然看起来很hacky,如果在ng-click操作之前触发提交操作怎么办?它甚至可能吗?你有另一个想法(除了每页创建1个表单按钮)。 谢谢。

1 个答案:

答案 0 :(得分:1)

所以,首先,你并不需要Angular来做你正在做的事情。您只需将namevalue分配给type="submit"的按钮即可。

<form class="searchForm" method="POST" action="~/Search/Products">
   <input type="hidden" name="keyword" value="@Model.Keyword" />

   <button type="submit" name="pagenum" value="1" class="btn btn-primary">1</button>
   <button type="submit" name="pagenum" value="2" class="btn btn-primary">2</button>
</form>

Web实际上存在于Angular之前,你知道:)

但是,如果您需要执行一些额外的Angular任务,可以在表单元素 而不是 ng-submit上使用ng-click按钮:

<form ng-submit="doSomethingBeforeSubmit($event)" 
      method="POST" action="~/Search/Products">
   ...
</form>

这将在提交表单之前调用$scope.doSomethingBeforeSubmit$event是一个特殊变量,您可以将其传递给doSomethingBeforeSubmit函数。

这是ng-submit文档。