angularjsangularjs-moduleangularjs-injector

Angular can not find the injector modulerr error


here is my code:

I Have no idea where the error should be. i just received this error.

Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.5.0/$injector/modulerr?p0=studentfeedback&p1=….c%20(https%3A%2F%2Fcode.angularjs.org%2F1.5.0%2Fangular.min.js%3A20%3A449)

I delete everything I added that day but i didn't change anything. only if i fully cleared my html and angular the error is gone :p. so I have no clue where to find the error. I hope somebody can help me. thanks

(function(){
  var app = angular.module('studentfeedback', ['ngAnimate']);

  app.factory('Global', function(){
    
      var user = {};
      user.loggedin = false;
      user.achternaam;
      user.voornaam;
      user.vakken = [];
      user.periodecodes = [];
             
      return user;
  })
  /*
  app.service('sharedProperties', function () {
        var loggedin = false;

        return {
            getloggedin: function () {
                return loggedin;
            },
            setloggedin: function(value) {
                loggedin = value;
            }
        };
  });
  */
      
  app.controller('LoginController', [ '$http', '$scope','$timeout',  'Global', function($http, $scope , $timeout,  Global ){

    this.panelToggle = true; //true= login / false = register
    this.loggedin = Global.loggedin;

    //console.log("user:0110495-12, pass:LV ");
      
    this.checklogin = function(){
        var logincontroller = this;      
    
      //studentid           0110495-12 initials LV
       
        $http.jsonp("http://multimediatechnology.be/workload/stud.php?studentid="+ this.username+ "&initials="+ this.passwoord +"&callback=JSON_CALLBACK"
      /* , {apikey:"test", params:{
         studentid : $scope.username ,
         initials : $scope.passwoord
         }}*/
                    
        ).success( function(data){
        
            
            if (data.state == "Success") {
                
                $(".formdiv").addClass("vanish");
                $timeout(function(){  logincontroller.loggedin = true; Global.loggedin=true;}, 500).then( $("h2").addClass("slidein") ); 
                $("body").addClass("whitebackground");
                Global.achternaam = data.student.achternaam;
                Global.voornaam = data.student.voornaam;   
                
                for(vak in  data.courses){
                    
                   for (code in Global.periodecodes ) {
                      
                       if(data.courses[vak].periodecode == Global.periodecodes[code]){
                      
                           Global.vakken.push(data.courses[vak]);
                       }
                    }
                    
                    
                }
                
                console.log(data.courses);
                console.log(Global.vakken);
               
                
                            
            }else{
                
              $(".loginform").addClass("shake");
                $timeout(function(){   $(".loginform").removeClass("shake"); }, 500);               
            } 
           
        });
          
        
    };
    
    
}]);
  app.controller('TimeController', [ '$http', '$scope','$timeout', 'Global',function($http, $scope , $timeout ,  Global){
     
      $scope.week;
      $scope.date;
      $scope.periodenaam = [];
      $scope.periodecode = [];

      
       $http.jsonp("http://multimediatechnology.be/workload/week.php?callback=JSON_CALLBACK").success( function(data){
       
           //WEEK
             $scope.week = data.weeknr;
            console.log("week="+ $scope.week);
           
           //DATUM                                                                                                         
            this.year = data.date.year;
            this.month = data.date.month;
            this.day = data.date.day; 
                                                                                                                      
            if(this.month < 10){
                this.month = "0"+this.month;
            } 
            if(this.day < 10){
                this.day = "0"+this.day;
            }
           
            $scope.date = this.year+"-"+this.month +"-"+this.day;                                                                                                
            console.log("date="+ $scope.date);  
                                                                                                                     
                                                                                                                     
       });
      
            
      $http.jsonp(" http://multimediatechnology.be/workload/periode.php?callback=JSON_CALLBACK").success( function(data){
            

            for(periode in data.periods){
              
         
                
                if( $scope.date > data.periods[periode].start.full && $scope.date < data.periods[periode].eind.full)  {
                    
                    Global.periodecodes.push(data.periods[periode].periodecode); 
                    //$scope.periodenaam.push(data.periods[periode].periodenaam); 
                    
                }else{
                    //not right period
                }
                
            }
            
           
             console.log("alle periodecodes = "+ Global.periodecodes);
             //console.log("alle periodenamen = "+  $scope.periodenaam);
          
        }); 
     

}]);
    
  app.controller('UserController', [ '$http', '$scope','$timeout', 'Global', '$rootElement',function($http, $scope , $timeout ,  Global, $rootElement){
      
    

        this.data = Global;
        this.savepunten = function(){     
 
        };
      
}])();
});

  
<!DOCTYPE html>
<html ng-app="studentfeedback">
  <head>
    <meta charset="utf-8">
    <title>Student Feedback</title>
  <link href='https://fonts.googleapis.com/css?family=Oxygen|Lobster|Nunito|Asap|Merriweather+Sans|Pacifico|Righteous|Comfortaa|Fredoka+One|Amaranth|Gloria+Hallelujah|Special+Elite' rel='stylesheet' type='text/css'>
    <link rel="stylesheet" href="index.css" type="text/css">

  </head>
  <body >
<div class="formdiv" ng-controller="LoginController as Login"  ng-hide="Login.loggedin">
     
     <img class="owl"  src="img/ow2l.png" alt="owl" />
       <img class="owl2" src="img/owl3.png" alt="owl" />
      <form name="loginform" class="loginform"  ng-submit="loginform.$valid && Login.checklogin()" novalidate>
       
        <h1>Student Feedback</h1>


        <div class="login" ng-show="Login.panelToggle"  >
          <a class="logintab active" href="" >Login</a>
          <a class="registreertab "   href="" ng-click="Login.panelToggle = !Login.panelToggle">Registreer</a>
          <label for="username">Studenten nummer</label>
          <input type="input" name="username" id="username" value="0110495-12" placeholder="0086868-53"  ng-model="Login.username" required>
          <label for="passwoord">initialen</label>
          <input type="input" name="passwoord" id="passwoord" placeholder="BD"  ng-model="Login.passwoord" required>
          <a href="" class="passlink">Passwoord vergeten?</a>
          <input class="loginbutton" type="submit" name="login" class="preload" value="Login" >


        </div>

        <div class="register" ng-show="!Login.panelToggle">
          <a class="logintab2" href="" ng-click="Login.panelToggle = !Login.panelToggle" >Login</a>
          <a class="registreertab2 active"   href="">Registreer</a>
          <label for="studentennummer">Studentennummer</label>
          <input type="input" name="studentennummer" id="studentennummer">
          <label for="kdgmail">kdgmail</label>
          <input type="input" name="kdgmail" id="kdgmail">

          <label for="username">gebruikersnaam</label>
          <input type="input" name="username" id="username">
          <label for="password">passwoord</label>
          <input type="password" name="password" id="password">
          <input type="submit" name="registreer" class="preload" value="Registreer">
        </div>

      </form>
      </div>
 .     
      <div class="studentpanel"  ng-controller="UserController as User" ng-show="User.data.loggedin">
    
       
      <header class="clearfix">
          <h2 class="s">{{User.data.voornaam +" "+ User.data.achternaam}} </h2>
          <div class="weekdiv"  ng-controller="TimeController as Time">
            
              <div class="activeweek">
               <a href="#" id="prevweek"></a>
               <h4 >WEEK {{week}}</h4> 
               </div>           
              
          </div> 
       </header>  
        <div class="vakkendiv clearfix">
        <form method="post" ng-submit="Login.savepunten()" >
         <div class="vakken" ng-repeat="vak in User.data.vakken"  >
             
                <p>{{vak.vaknaam}}</p>
                <input class="punt" type="text">
                <img class="underline" src="img/underline.png" alt="underline">
             
         </div>
         <input type="submit" name="oplsaan" value="Opslaan">
         </form>
        </div> 
        

      </div>





    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
    <script type="text/javascript" src="https://code.angularjs.org/1.5.0/angular.min.js"></script>
    <script type="text/javascript" src="https://code.angularjs.org/1.5.0/angular-animate.min.js"></script>       
    <script type="text/javascript" src="js/jquery.spriteOnHover-0.2.5.min.js"></script>
    <script type="text/javascript" src="base.js"></script>
    <script type="text/javascript" src="style.js"></script>
  </body>
</html>


Solution

  • There is a problem in your javascript file

      var app = angular.module('studentfeedback', ['ngAnimate']);
    
      app.factory('Global', function(){
        
          var user = {};
          user.loggedin = false;
          user.achternaam;
          user.voornaam;
          user.vakken = [];
          user.periodecodes = [];
                 
          return user;
      })
      /*
      app.service('sharedProperties', function () {
            var loggedin = false;
    
            return {
                getloggedin: function () {
                    return loggedin;
                },
                setloggedin: function(value) {
                    loggedin = value;
                }
            };
      });
      */
          
      app.controller('LoginController', [ '$http', '$scope','$timeout',  'Global', function($http, $scope , $timeout,  Global ){
    
        this.panelToggle = true; //true= login / false = register
        this.loggedin = Global.loggedin;
    
        //console.log("user:0110495-12, pass:LV ");
          
        this.checklogin = function(){
            var logincontroller = this;      
        
          //studentid           0110495-12 initials LV
           
            $http.jsonp("http://multimediatechnology.be/workload/stud.php?studentid="+ this.username+ "&initials="+ this.passwoord +"&callback=JSON_CALLBACK"
          /* , {apikey:"test", params:{
             studentid : $scope.username ,
             initials : $scope.passwoord
             }}*/
                        
            ).success( function(data){
            
                
                if (data.state == "Success") {
                    
                    $(".formdiv").addClass("vanish");
                    $timeout(function(){  logincontroller.loggedin = true; Global.loggedin=true;}, 500).then( $("h2").addClass("slidein") ); 
                    $("body").addClass("whitebackground");
                    Global.achternaam = data.student.achternaam;
                    Global.voornaam = data.student.voornaam;   
                    
                    for(vak in  data.courses){
                        
                       for (code in Global.periodecodes ) {
                          
                           if(data.courses[vak].periodecode == Global.periodecodes[code]){
                          
                               Global.vakken.push(data.courses[vak]);
                           }
                        }
                        
                        
                    }
                    
                    console.log(data.courses);
                    console.log(Global.vakken);
                   
                    
                                
                }else{
                    
                  $(".loginform").addClass("shake");
                    $timeout(function(){   $(".loginform").removeClass("shake"); }, 500);               
                } 
               
            });
              
            
        };
        
        
    }]);
      app.controller('TimeController', [ '$http', '$scope','$timeout', 'Global',function($http, $scope , $timeout ,  Global){
         
          $scope.week;
          $scope.date;
          $scope.periodenaam = [];
          $scope.periodecode = [];
    
          
           $http.jsonp("http://multimediatechnology.be/workload/week.php?callback=JSON_CALLBACK").success( function(data){
           
               //WEEK
                 $scope.week = data.weeknr;
                console.log("week="+ $scope.week);
               
               //DATUM                                                                                                         
                this.year = data.date.year;
                this.month = data.date.month;
                this.day = data.date.day; 
                                                                                                                          
                if(this.month < 10){
                    this.month = "0"+this.month;
                } 
                if(this.day < 10){
                    this.day = "0"+this.day;
                }
               
                $scope.date = this.year+"-"+this.month +"-"+this.day;                                                                                                
                console.log("date="+ $scope.date);  
                                                                                                                         
                                                                                                                         
           });
          
                
          $http.jsonp(" http://multimediatechnology.be/workload/periode.php?callback=JSON_CALLBACK").success( function(data){
                
    
                for(periode in data.periods){
                  
             
                    
                    if( $scope.date > data.periods[periode].start.full && $scope.date < data.periods[periode].eind.full)  {
                        
                        Global.periodecodes.push(data.periods[periode].periodecode); 
                        //$scope.periodenaam.push(data.periods[periode].periodenaam); 
                        
                    }else{
                        //not right period
                    }
                    
                }
                
               
                 console.log("alle periodecodes = "+ Global.periodecodes);
                 //console.log("alle periodenamen = "+  $scope.periodenaam);
              
            }); 
         
    
    }]);
        
      app.controller('UserController', [ '$http', '$scope','$timeout', 'Global', '$rootElement',function($http, $scope , $timeout ,  Global, $rootElement){
          
        
    
            this.data = Global;
            this.savepunten = function(){     
     
            };
          
    }]);
    body{
    
      background-color:#d8d8d8 ;
      font-family: 'Merriweather Sans', sans-serif;
      margin: 0px;
      animation-duration: 3s;
      animation-fill-mode: both;
      -webkit-background-size: cover;
      -moz-background-size: cover;
      -o-background-size: cover;
      background-size: cover;
    }
    .ease{
        -webkit-transition: all 2s ease ; /* property duration timing-function delay */
        -moz-transition: all 2s ease ;
        -o-transition: all 2s ease ;
        transition: all 2s ease ;
    }
    .preload{
      -webkit-transition: none !important;
      -moz-transition: none !important;
      -ms-transition: none !important;
      -o-transition: none !important;
    }
    .loginform{
      background-color: rgb(49, 49, 49);
      box-shadow: 0 10px 15px 10px rgba(0,0,0,0.2);
      margin-left: auto;
      margin-right: auto;
      margin-top: 10%;
      width: 400px;
      display: block;
      overflow: auto;
      animation-duration: 0.5s;
      animation-fill-mode: both;
    }
    .formdiv{
      margin-left: auto;
      margin-right: auto;
      margin-top: 10%;
      width: 400px;
      display: block;
      animation-duration: 0.5s;
      animation-fill-mode: both;
    
    }
    
    
    
    h1{
      margin: 20px;
      text-align: center;
      font-family: 'Nunito', sans-serif;
      color: white;
    }
    .registreertab, .logintab , .logintab2 , .registreertab2{
      border: none;
      background-color: rgb(42, 42, 42);
      width: 50%;
      float: left;
      font-size: 18px;
      color: white;
      text-decoration: none;
      text-align: center;
      padding-top: 15px;
      padding-bottom: 15px;
      margin-bottom: 30px;
      border-bottom: 1px solid white;
      border-top: 1px solid white;
    
        box-shadow: inset 0 0 0 0 white;
    	-webkit-transition: all ease 0.8s;
    	-moz-transition: all ease 0.8s;
    	transition: all ease 0.8s;
    }
    .active{
        color:  rgb(49, 49, 49);
        background-color: white;
        box-shadow: inset 0 0 0 0 rgb(42, 42, 42);
    }
    
    
    .loginhover {
        box-shadow: inset 200px 0px 0px 0px rgb(42, 42, 42);
        color: white;
    
    
    }
    .registreerhover{
         box-shadow: inset 200px 0px 0px 0px white;
         color:  rgb(49, 49, 49);
    
    }
    
    .loginhover2 {
        box-shadow: inset -200px 0px 0px 0px rgb(42, 42, 42);
        color: white;
    
    
    }
    .registreerhover2{
         box-shadow: inset -200px 0px 0px 0px white;
         color:  rgb(49, 49, 49);
    
    }
    
    
    
    label{
        margin-left: 10%;
        color: white;
        margin-top: 10px;
        margin-bottom: 10px;
        display: block;
    }
    input{
        margin-left: 10%;
        margin-top: 10px;
        margin-bottom: 20px;
        display: block;
        transition: border 0.4s;
        border: none;
    }
    
     input:not(:last-child){
      width: 80%;
      height: 30px;
      font-size: 18px;
      border-radius: 2px;
      box-shadow: 0px 5px 7px rgba(0,0,0,0.2);
    }
    
    .loginbutton{
      margin-right: 10%;
      background-color: green;
      border-radius: 30px;
      color: white;
      float: right;
      padding: 8px;
      padding-left: 30px;
      padding-right: 30px;
      font-weight: 700;
      font-size: 15px;
      outline: none;
    
     /* transition: [transition-property] [transition-duration] [transition-timing-function] [transition-delay]; */
      -webkit-transition: background-color 0.5s ease, color 0.5s ease ;
      -moz-transition: background-color 0.5s ease, color 0.5s ease;
      -ms-transition: background-color 0.5s ease, color 0.5s ease;
      -o-transition: background-color 0.5s ease, color 0.5s ease;
      transition: background-color 0.5s ease, color 0.5s ease;
    }
    .loginbutton:hover{
      background-color: rgb(165, 255, 165);
      color: green;
    }
     input.ng-invalid{
      outline-color: #FA787E;
      border: 1px solid #FA787E;
    }
     input.ng-valid{
      outline-color: #78FA89;
      border: 1px solid #78FA89;
    }
    .passlink{
      display: inline-block;;
      font-size: 13px;
      margin-top: 15px;
      margin-left: 10%;
      color: white;
    }
    .owl{
        position: absolute;
        z-index: -1;
        margin-left: 240px;
        width: 150px;
        animation-name: OwlSearchingForYou;
        animation-duration: 30s;
        animation-iteration-count: infinite;
    }
    .owl2{
        position: absolute;
        float: right;
        margin-top: 10%;
        z-index: -1;
        width: 150px;
        animation-name: OwlSearchingForYou2;
        animation-duration: 30s;
        animation-iteration-count: infinite;
    
    }
    
    
    
    @keyframes OwlSearchingForYou {
         0%,35%, 53% {transform: translateX(0);}
        40%, 50%{transform: translateX(130px);}
    }
    @keyframes OwlSearchingForYou2 {
         0%,82%, 100% {transform: translateX(0);}
        87%, 97%{transform: translateX(-110px);}
    }
    
    
    @keyframes shake {
        0%, 100% {transform: translateX(0);}
        10%, 50%, 90% {transform: translateX(-10px);}
        30%, 70% {transform: translateX(10px);}
    }
    
    .shake {
        -webkit-transform: translate3d(0,0,0);
        animation-name: shake;
    
    }
    
    @keyframes vanish {
        0% {transform: scale(1); opacity: 1;}
          
        100% {transform: scale(1.15); opacity: 0;}
    }
    .vanish {
        -webkit-transform: translate3d(0,0,0);
        animation-name: vanish;
    
    }
    
    /*USER INTERFACE*/
    
    
    h2 {
    
        color: white;
        font-size: 2vw;
        margin: 0px;
        display: inline;
        margin-top: 5%;
        margin-bottom: 5%;
        padding-top: 2%;
        float: left;
        height: 130px;
        width: 50%;
        text-align: center;
        animation-duration: 2s;
        animation-fill-mode: both;
        background-image: url(img/paperstroke3.png);
        background-repeat: no-repeat;
        background-size: 100%;
    
        
     
    
     
    }
    
    @keyframes slidein {
        0% {transform: translateX(-100%); }
          
        100% {transform: translateX(0px); }
    }
    .slidein {
        -webkit-transform: translate3d(0,0,0);
        animation-name: slidein;
    
    }
    
    @keyframes whitebackground {
        0% { background-image:url(img/flatcolor.jpg) ;}
          
        100% {background-image:url(img/table.jpg);}
    }
    .whitebackground {
    
         animation-name: whitebackground;
       
    
    }
    
    .weekdiv{
      float: right;
        width: 50%;;
        
    }
    
    h3, h4{
       
        font-family: 'Special Elite', cursive;
        margin: 0px;    
        text-align: center;
        display: block;
        margin-right: 2%;
    }
    h4, .activeweek a{
        display: inline-block;
        vertical-align: top;
    }
    h4{
        font-size: 4vw;
        padding-top: 10%;
        padding-bottom: 10%;    
        width: 18vw;
        
    }
    .activeweek{
        height: 10vw;   
        font-size: 4vw;
        margin-bottom: 50px;
        background-image: url(img/week.png);
        background-size: 100%;
        background-repeat: no-repeat;
    }
    
    
    #prevweek{
        width: 24.1666666666%;
        float: left;
        display: inline-block;
        height: 83.854166666666%;
        background: url(img/spritesheetprevweek.png) ;
       
        background-size: 1500%;
    }
    
    
    
    
    .vakkendiv{
        margin-top: 200px;
        width: 80%;
        margin: auto;
    
    }
    .vakken{
        float: left;
        display: inline-block;
        height: 200px;
        width: 200px;
        background-image: url(img/yellow-sticky-note.png);
        background-size: cover;
         
      
        margin-right: 20px;
        margin-bottom: 20px;
            -webkit-transition: all  1s ease ;
        -moz-transition: all  1s ease;
        -ms-transition: all  1s ease;
        -o-transition: all  1s ease;
        transition: all  1s ease;
    
        
    }
    .vakken.ng-enter{
        opacity: 0;
        -webkit-transition:0.5s linear all;
        transition:0.5s linear all
    }
    .vakken.ng-enter-stagger{
        -webkit-transition-delay: 0.4s;
        -moz-transition-delay: 0.4s;
        -ms-transition-delay: 0.4s;
        -o-transition-delay: 0.4s;
        transition-delay: 0.4s;
        
        -webkit- transition-duration: 0s;
        -moz- transition-duration: 0s;
        -ms- transition-duration: 0s;
        -o- transition-duration: 0s;
         transition-duration: 0s;
    }
    .vakken.ng-enter-active{
        opacity: 1;
    }
    
    .vakken p {
        text-align: center;
        height: 25%;
       
    }
    input.punt{
         margin: auto;
        height: 45%;
        width: 85%;    
        margin-left: 5%;
        text-align: center;
        font-size: 45px;
        outline: none;
        box-shadow: none;
        font-family: 'Gloria Hallelujah', cursive;
        background-color: rgba(255, 255, 255, 0);
        
    }
    .underline{
        width: 70%;
        opacity: 0.8;
        vertical-align: top;
        margin-left: 15%;
    }
    
    /*CLEARFIX*/
    .clearfix:after {
       content: " "; /* Older browser do not support empty content */
       visibility: hidden;
       display: block;
       height: 0;
       clear: both;
    }
    <!DOCTYPE html>
    <html ng-app="studentfeedback">
      <head>
        <meta charset="utf-8">
        <title>Student Feedback</title>
      <link href='https://fonts.googleapis.com/css?family=Oxygen|Lobster|Nunito|Asap|Merriweather+Sans|Pacifico|Righteous|Comfortaa|Fredoka+One|Amaranth|Gloria+Hallelujah|Special+Elite' rel='stylesheet' type='text/css'>
        <link rel="stylesheet" href="index.css" type="text/css">
    
      </head>
      <body >
    <div class="formdiv" ng-controller="LoginController as Login"  ng-hide="Login.loggedin">
         
         <img class="owl"  src="img/ow2l.png" alt="owl" />
           <img class="owl2" src="img/owl3.png" alt="owl" />
          <form name="loginform" class="loginform"  ng-submit="loginform.$valid && Login.checklogin()" novalidate>
           
            <h1>Student Feedback</h1>
    
    
            <div class="login" ng-show="Login.panelToggle"  >
              <a class="logintab active" href="" >Login</a>
              <a class="registreertab "   href="" ng-click="Login.panelToggle = !Login.panelToggle">Registreer</a>
              <label for="username">Studenten nummer</label>
              <input type="input" name="username" id="username" value="0110495-12" placeholder="0086868-53"  ng-model="Login.username" required>
              <label for="passwoord">initialen</label>
              <input type="input" name="passwoord" id="passwoord" placeholder="BD"  ng-model="Login.passwoord" required>
              <a href="" class="passlink">Passwoord vergeten?</a>
              <input class="loginbutton" type="submit" name="login" class="preload" value="Login" >
    
    
            </div>
    
            <div class="register" ng-show="!Login.panelToggle">
              <a class="logintab2" href="" ng-click="Login.panelToggle = !Login.panelToggle" >Login</a>
              <a class="registreertab2 active"   href="">Registreer</a>
              <label for="studentennummer">Studentennummer</label>
              <input type="input" name="studentennummer" id="studentennummer">
              <label for="kdgmail">kdgmail</label>
              <input type="input" name="kdgmail" id="kdgmail">
    
              <label for="username">gebruikersnaam</label>
              <input type="input" name="username" id="username">
              <label for="password">passwoord</label>
              <input type="password" name="password" id="password">
              <input type="submit" name="registreer" class="preload" value="Registreer">
            </div>
    
          </form>
          </div>
     .     
          <div class="studentpanel"  ng-controller="UserController as User" ng-show="User.data.loggedin">
        
           
          <header class="clearfix">
              <h2 class="s">{{User.data.voornaam +" "+ User.data.achternaam}} </h2>
              <div class="weekdiv"  ng-controller="TimeController as Time">
                
                  <div class="activeweek">
                   <a href="#" id="prevweek"></a>
                   <h4 >WEEK {{week}}</h4> 
                   </div>           
                  
              </div> 
           </header>  
            <div class="vakkendiv clearfix">
            <form method="post" ng-submit="Login.savepunten()" >
             <div class="vakken" ng-repeat="vak in User.data.vakken"  >
                 
                    <p>{{vak.vaknaam}}</p>
                    <input class="punt" type="text">
                    <img class="underline" src="img/underline.png" alt="underline">
                 
             </div>
             <input type="submit" name="oplsaan" value="Opslaan">
             </form>
            </div> 
            
    
          </div>
    
    
    
    
    
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
        <script type="text/javascript" src="https://code.angularjs.org/1.5.0/angular.min.js"></script>
        <script type="text/javascript" src="https://code.angularjs.org/1.5.0/angular-animate.min.js"></script>       
        <script type="text/javascript" src="js/jquery.spriteOnHover-0.2.5.min.js"></script>
        <script type="text/javascript" src="base.js"></script>
        <script type="text/javascript" src="style.js"></script>
      </body>
    </html>