2015-10-29 37 views
1

如果使用ng-include将其包含在父html中,则不会触发表单发布。Angular ng包含表单动作发布URL不起作用

<div ng-include src="'form.html'"></div> 

的form.html文件代码如下

<form action="next/login" method ="post"> 
    <table> 
     <tr> 
      <td class="login_input_field v_align_top"> 
       <input type="text" name="email" ng-model="email"> 
      </td> 
      <td class="login_input_field"> 
       <input type="password" name="pass" ng-model="password"> 
      </td> 
      <td class="login_button_container"> 
       <button type="submit" id="login" name="login">Login</button> 
      </td> 
     </tr> 
    </table> 
</form> 

如果我这样做的URL是不是浏览器的地址栏上导航的形式提交。对提交事件不执行任何操作。

请解释功能背后的角度逻辑。

它不包括模板。

问:

表单提交行为改变 HTML网页示例:index.html的 1)我有一个index.html页面内的表单并提交它改变了我的网址,然后刷新页面,并获得响应 2)如果我有一个模板中的表单,并将其包含在index.html中。 URL不会改变,页面也不会刷新。

第1点和第2点有什么不同?

+0

为什么 “ 'form.html'”?如果它不是:“form.html”?注意你的'(单引号)。 – 82Tuskers

+0

“form.html”将具有范围变量。 当乌尔用“‘form.html’”这将作为字符串,并搜索匹配模板名称 –

+0

你或许应该

回答

2

你正在尝试使用ng-include里面div如下。

<div ng-include src="'form.html'"></div> 

但对于使用的ng-includesrc属性使用它作为单独的元件,如下。

<ng-include 
    src="string" 
    [onload="string"] 
    [autoscroll="string"]> 
</ng-include> 

对于使用ng-include DIV的用途如下:

<div ng-include="form.html"></div> 

对于使用ng-include作为单独的元素,使用的代码如下:

<ng-include src="form.html"></ng-include> 
+0

去绑定是什么,因为当我是形式

之间的差异在包含的html模板中提交。 浏览器中的网址未更改。如果我直接在HTML中提到的URL改变,而不是ng-include表单提交? ng-include(内部表单提交)或直接表单(表单提交)之间的秘密是什么? –

0

要改变你的代码,而不是如下:

<div ng-include="" src="'form.html'"></div> 
0

我创建了一个plunk为此,

<div ng-include="'form.html'"></div> 

作品,也是如此J.M.Farook的回答

<div ng-include="" src="'form.html'"></div>