Dfr*_*Dfr 29 html forms angularjs
我正在将一个旧的html页面从jQuery迁移到Angular,它包含一些旧的学校表单<input type="submit">.当我用ng-app指令丰富我的页面时,旧表单停止工作(我的意思是当你按下submit按钮然后没有任何反应).
我搜索了这个问题,并扫描了Angular文档,但似乎没有人再提交表单了.
任何关于如何在没有太多按键的情况下重新使用这些表格的建议将不胜感激.
目前表单有以下标记:
<form name="form_upload" method="post" action="" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" name="send" value="Upload">
</form>
Run Code Online (Sandbox Code Playgroud)
我清除了所有jQuery代码并使用Angular重新开始.
UPD:
我想我现在找到了原因,它的action属性是空的,似乎空行动不受标准欢迎,但使用起来非常方便,允许你将表单提交到当前页面的URL,是否有Angular方式来做呢?
Tim*_*ers 18
关闭文档:http://docs.angularjs.org/api/ng.directive:form
Angular的理念是最小化数据和页面重新加载,因此他们不喜欢"旧学校表单",但您可以通过使用action表单中的属性来解决它.
Angular的设计考虑了单页应用程序,并避免了整页重新加载,因为这需要更长的时间.通过使用该ngSubmit指令,您可以定义一个函数,通过表单数据发送到服务器,并获得比完整页面重新加载更快的响应.字节而不是千字节.
mar*_*sen 11
action属性使Angular提交表单action使用当前位置填充属性(使用角度)在你的控制器中:
$scope.location = $window.location.href
Run Code Online (Sandbox Code Playgroud)
在您的HTML中:
<form action="{{location}}">
Run Code Online (Sandbox Code Playgroud)
请参阅plunkr演示.