Undefined data

by emilcieslar

HTML

<div ng-app="myApp" data-ng-controller="help">
  <div id="messages" class="alert alert-success" data-ng-show="messages" data-ng-bind="messages"></div>
  <div data-ng-show="progress.active()" style="color: red; font-size: 50px;">Sending&hellip;</div>
  <form name="helpForm" novalidate role="form">
    <div class="form-group">

      <label for="name">Your Name </label>
      <span class="label label-danger" data-ng-show="submitted && helpForm.name.$error.required">Required!</span>
      <input type="text" name="name" data-ng-model="userName" class="form-control" required />
    </div>

    <div class="form-group">
      <label for="email">Your E-mail address</label>
      <span class="label label-danger" data-ng-show="submitted && helpForm.email.$error.required">Required!</span>
      <span class="label label-danger" data-ng-show="submitted && helpForm.$error.email">Invalid email!</span>
      <input type="email" name="email" data-ng-model="userEmail" class="form-control" required />
    </div>

    <div class="form-group">
      <label for="message">Message</label>
      <span class="label label-danger" data-ng-show="submitted && helpForm.message.$error.required">Required!</span>
      <textarea name="message" data-ng-model="userMessage" class="form-control" required></textarea>
    </div>

    <button data-ng-disabled="progress.active()" data-ng-click="submit(helpForm)" class="btn btn-default">Submit</button>
  </form>

JavaScript

angular.module('myApp', [])

.controller('help', function($scope, $http, $timeout) {
  $scope.subjectListOptions = {
    'bug': 'Report a Bug',
    'account': 'Account Problems',
    'mobile': 'Mobile',
    'user': 'Report a Malicious User',
    'other': 'Other'
  };

  $scope.submit = function(form) {

    $scope.submitted = true;


    if (form.$invalid) {
      return;
    }

    $timeout(function() {
      $scope.userName = null;
      $scope.userEmail = null;
      $scope.userMessage = null;
      $scope.messages = 'Your form has been sent!';
      $scope.submitted = false;
    }, 1000);

  };

});