Angular JS Forms提交不发送模型数据

时间:2013-02-21 17:42:20

标签: angularjs

在以下示例中,在事件触发后在控制器中显示message时,<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);
}

控制器:

{{1}}

我的代码与文档here完全相同,只是我的控制器管理整个“页面”而不仅仅是表单。

2 个答案:

答案 0 :(得分:4)

哇没关系,显然当你提交空白值时,它甚至都没有创建对象。

答案 1 :(得分: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>

以上将使标题成为必需,显示错误消息,并在表单无效时禁用提交按钮。