2015-10-29 35 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>