我的老板给了我一个任务,他仍然喜欢用旧的方式做事......有一个 HTML 页面/ View 并向 PHP 页面服务器端提交表单。我们已将 AngularJS 引入到他的应用程序中,他的页面中有以下代码:
<form name="rForm" id="rForm" action="demo_form.php" method="post">
<input type="hidden" name="quantity" id="reservationQuantity" ng-value="selectedQuantity"/>
<input type="hidden" name="date" id="reservationDate" ng-value="selectedDate"/>
<input type="hidden" name="time" id="reservationTime" ng-value="selectedTime"/>
<input type="hidden" name="mId" id="mID" value="{{ $merchant->id }}" ng-value="mId"/>
</form>
<button>Go to next page...</button>
现在他希望我们有一个链接或按钮来提交表单之外的表单,我相信我们应该控制所有这一切是一个 Controller ,所有发布功能都由注入(inject)/单独的 处理$http
服务。他不相信我,并说他最了解,我应该像这样处理提交表格
<button onclick="$('#reservationForm').submit();">Go to next page...</button>
我不喜欢这样......但他支付工资。有什么方法可以从我的 Angular Controller 提交表单/页面并删除所有可怕的 jQuery 代码吗?像这样的东西(这行不通,我只是将其用于视觉目的)
<button ng-click="ng-submit()">Go to next page...</button>
...我说的对吗,他的方法是不好的做法,如果我们要通过推送页面来提交到服务器,那么我们使用 MVC 框架就没有意义。
最佳答案
是的,您可以通过 Angular Controller 提交表单。为此,您所要做的就是在 ng-click 中调用 Controller 函数,如下所示:
<button ng-click="submit()">Go to next page...</button>
其中,submit() 是您的 Controller 函数。您还需要将 ng-model 分配给所有表单字段才能在 Controller 中访问它们。
关于javascript - 使用 ng-click 发布表单(旧方式),这是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23238400/