2017-02-13 43 views
0

我想作出一個測驗應用程序....但我想問問形式的用戶,這就是爲什麼我決定做很多條件的形式,如(ng -if,ng-show,ng-hide),但我卡在this Application的最後一點。無法設置表單作爲想要推我的問題在一個數組

最後一點是在功能addQuestion()功能是在quiz.controller.js線@ 166

,如果我宣佈所有在db.json文件所需的變量空,那麼它存儲空數據.. 。

我無法弄清楚我誤解了哪裏?

我無法在表格中設置原始格式,而在每個問題插入之後我都想要原始格式。

和我使用json-server與此雖然我嘗試僅在quiz.service.js中實現數據。
請幫幫我。

https://plnkr.co/edit/PZD1QXIirEap3EgXKN1X?p=preview

+1

你的運動員不工作! – Yaser

+0

sir actully現在我更新了我的plunker(quiz.service.js && db.json)文件雖然它現在不工作,但是您可以下載並使用它與任何本地服務器然後它必須工作,您將會知道我必須先點擊第一個**製作你的測試**按鈕,然後它會要求標題,描述和否。我想提供的問題然後我必須點擊**現在開始**按鈕,因爲當我用於填寫問題表單,然後我想重用該表單,直到總計沒有。問題沒有完成? –

+0

謝謝這麼多回應先生。 –

回答

0

雖然你沒有提到你面對什麼樣的錯誤,我的猜測是,因爲你有一個ng-if就在控制器塊內的HTML塊的開始,如果你打電話$scope.queForm你得到了一個未定義。

這是因爲ng-if創建分離的範圍,這意味着你有兩種選擇:

1-傳遞形式addQuestion:

$scope.addQuestion = function(queForm){ 
    //... 
    queForm.$setPristine(true); 
}; 

HTML:

<form name="queForm" ng-submit="addQuestion(queForm)" novalidate> 

或2 - 將表單添加到對象而不是直接在範圍內:

<form name="myFormContainer.queForm" ng-submit="addQuestion()" novalidate> 

然後你就可以在你的addQuestion功能訪問:

$scope.queForm.$setPristine(true); 

我創建了一個工作樣本here

+0

嘿你好先生再次感謝幫助我,但我很抱歉,這兩種解決方案也不適合我, 是的,你有什麼我想要的,其實我想要使用窗體(從62行到268 @ index.html)點擊在提交問題按鈕, 我試過,但我無法理解如何使用setpristine()的條件形式? ,並且我也嘗試了大部分在互聯網上給出的方式,我發現我可能做錯了什麼....... –

+0

除非你告訴我你面對什麼錯誤,我不能再幫你了。查看工作示例@A的更新。Sharma – Yaser

+0

感謝主席先生的回覆,但先生,我很抱歉,在填寫完問題表單後,我點擊提交問題按鈕後,我會向您明確表示。我希望表單將被設置爲其原始狀態和未觸摸狀態,但不是它顯示無法讀取未定義的屬性$ setPristine().... 我試過了你之前建議我的兩個解決方案,我嘗試你的這個更新的例子,通過新的更新的例子,你給$ setPristine()正在工作,但數據庫中的字段提交爲空... 我想因爲我試圖將所有對象定義爲空。 –

相關問題