2013-02-21 64 views
2

在以下示例中,message在觸發事件後顯示在控制器中時未定義。爲什麼?Angular JS表單提交不發送模型數據

<form> 
    <input type="text" ng-model="message.Title" /> 
    <textarea ng-model="message.Content"></textarea>   
    <input type="submit" value="Send Message" ng-click="sendMessage(message)" /> 
</form> 

控制器:

$scope.sendMessage = function(message) { 
    console.log(message); 
} 

我的代碼似乎相同,只是我的控制器的文檔here管理整個「頁面」,而不僅僅是形式。

回答

4

哇,從來不知道,顯然當你用空白值提交它甚至不創建對象。

4

我看你已經找到了你的問題,但我想提出一個解決方案,以防止你的問題呢:

<form name="messageForm" ng-submit="sendMessage(message)"> 
    <input type="text" ng-model="message.Title" required/> 
    <span ng-show="messageForm.title.$error.required && messageForm.title.$dirty">required</span><br/> 
    <textarea ng-model="message.Content"></textarea>   
    <input type="submit" value="Send Message" ng-disabled="messageForm.$invalid" /> 
</form> 

以上將使所需的標題,顯示錯誤消息,並且禁用您的提交按鈕如果表單無效。