Html Angular.js以旧方式提交表单

Html Angular.js以旧方式提交表单,html,forms,angularjs,Html,Forms,Angularjs,我正在将一个旧的html页面从jQuery迁移到Angular,它包含一些带有的老式表单。当我使用ng-app指令丰富我的页面时,旧表单停止工作(我的意思是当你按下submit按钮时,什么也没有发生) 我搜索了这个问题,也扫描了Angular文档,但似乎再也没有人提交表单了 如果您有任何关于如何使这些表单在不需要太多按键的情况下重新生效的建议,我们将不胜感激 当前表单具有以下标记: <form name="form_upload" method="post" action="" encty

我正在将一个旧的html页面从jQuery迁移到Angular,它包含一些带有
的老式表单。当我使用
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>

我清除了所有jQuery代码,并用Angular重新开始

UPD:

我想我现在找到了原因,它是空的
action
属性,看起来standarts不欢迎空的action,但是使用起来非常方便,允许您将表单提交到当前页面URL,有没有办法呢?

离开文档:

Angular的理念是最大限度地减少数据和页面重新加载,因此他们不喜欢“老式表单”,但您可以通过在表单中使用
action
属性来绕过它


Angular在设计时考虑到了单页应用程序,避免了整个页面的重新加载,因为这将需要更长的时间。通过使用
ngSubmit
指令,您可以定义一个函数,将表单数据发送到服务器,并比重新加载整个页面更快地获得响应。字节而不是千字节。

我已经这样做了。我很确定我是用jquery提交表单的,但是你可以用普通的javascript来完成

“角度表单”页面上的一条评论建议:

<input onclick="javascript:$(this).parent().submit();" type="submit" value="">

  • 使用非空的
    action
    属性来提交表单
  • 用当前位置填充
    动作
    属性(使用角度)
在控制器中:

$scope.location = $window.location.href
在HTML中:

<form action="{{location}}">


请参阅。

如何使用提交表格?您使用jQuery进行工作吗?除了操作为空之外,它应该可以工作。看,是的,这是一个空操作,谢谢你的提示,它正在工作,或者你是用jQuery提交的?请检查问题更新,我目前正在寻找提交到同一页面的正确方式,因为在action属性中硬编码url不是理想的选项。答案也会回答他的问题。我一直在想,当url被散列时,如何使用action属性提交到您所在的页面,例如,因为它是用于重置密码的url。在拔出一些头发后,最终起作用的是
action=“#”
,但有时您必须以传统方式提交,例如facebook重定向。你必须重新加载页面。如何做到这一点?另一个例子是与Symfony和Angular Material的集成。你喜欢symfony处理每个案例的方式,以及一个整洁的界面。这似乎是一个相当丑陋的黑客行为,你知道为什么会是这样吗?这是对原始问题的一个更好的回答。在纯javascript中:This.form.submit();从什么时候起,$(这个)变成了普通的老javascript???@Red2678哎哟.:-)在我的辩护中,angular附带了一些他们称为jQuery lite的东西,所以如果您使用angular,$(这)是有效的javascript。