2

次の例で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);
}

私のコードは、コントローラーがフォームだけでなく「ページ」全体を管理することを除いて、ここのドキュメントと同じように見えます。

4

2 に答える 2

4

うわー気にしないでください、どうやら空白の値で送信すると、オブジェクトも作成されません。

于 2013-02-21T17:46:07.307 に答える
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>

上記により、タイトルが必須になり、エラーメッセージが表示され、フォームが有効でない場合は送信ボタンが無効になります。

于 2013-02-21T18:32:28.580 に答える