2016-09-17 32 views
-1

大家好是不行的,我正在上預製體形式驗證灌裝,數據進入表提交後angularjs。我有一個選項來編輯它。編輯我已經使用引導模式進行編輯。一切運行良好,但問題是,當我嘗試在本地瀏覽器中運行相同的代碼它不工作。請幫我一下吧引導模式工作在plunker或的jsfiddle但在當地

讓我告訴你的代碼:

的index.html

<!DOCTYPE html> 
<html> 

<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
    <meta name="robots" content="noindex, nofollow"> 
    <meta name="googlebot" content="noindex, nofollow"> 
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js"></script> 
    <link rel="stylesheet" type="text/css" href="/css/result-light.css"> 
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.10.0/ui-bootstrap-tpls.js"></script> 
    <link rel="stylesheet" type="text/css" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css"> 

    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <title>Example of Bootstrap 3 Tables with Borders</title> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> 
    <script src='https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js'></script> 
    <script src='https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.4/angular-messages.min.js'></script> 
    <script src="http://angular-ui.github.com/bootstrap/ui-bootstrap-tpls-0.1.0.js"></script> 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script> 

    <script src="script.js"></script> 
    <script src="controller/listCtrl.js"></script> 

    <script src="script.js"></script> 

    <link rel="stylesheet" href="style.css"> 


    <style type="text/css"> 
    .bs-example { 
     margin: 20px; 
    } 
    </style> 




</head> 

<body> 
    <div ng-app="app" ng-controller="CustomerController"> 
    <div class="main-content"> 

     <!-- You only need this form and the form-basic.css --> 
     <form name="exampleForm" class="elegant-aero" ng-submit="addNew(personalDetails); form.$setPristine()"> 
     <label>Name:</label> 
     <input type="text" name="userFirstName" ng-model="personalDetails.name" required /> 
     <div ng-messages="exampleForm.userFirstName.$error"> 
      <div ng-message="required">This field is required</div> 
     </div> 
     <label>Email Address:</label> 
     <input type="email" name="userEmail" ng-model="personalDetails.email" required /> 
     <div ng-messages="exampleForm.userEmail.$error"> 
      <div ng-message="required">This field is required</div> 
      <div ng-message="email">Your email address is invalid</div> 
     </div> 

     <label>Phone Number:</label> 
     <input type="text" name="userPhoneNumber" ng-model="personalDetails.phone" ng-pattern="/^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/" required/> 
     <div ng-messages="exampleForm.userPhoneNumber.$error"> 
      <div ng-message="required">This field is required</div> 
      <div ng-message="pattern">Must be a valid 10 digit phone number</div> 
     </div> 

     <label>User Address:</label> 
     <textarea type="text" name="userMessage" class="form-control" rows="4" ng-model="personalDetails.address" ng-minlength="10" ng-maxlength="100" required></textarea> 
     <div ng-messages="exampleForm.userMessage.$error"> 
      <div ng-message="required">This field is required</div> 
      <div ng-message="minlength">Message must be over 10 characters</div> 
      <div ng-message="maxlength">Message must not exceed 100 characters</div> 
     </div> 
     <br> 
     <div class="form-row"> 
      <button type="submit" class="btn btn-primary" ng-click="submit()">Submit Form</button> 
     </div> 
     </form> 

    </div> 
    <div> 
     <div class="row" ng-hide="!personalDetails.length"> 
     <div class="bs-example"> 
      <table id="example" class="table table-bordered" cellspacing="0" width="100%"> 
      <thead> 
       <tr> 

       <th>Name 
       </th> 
       <th>Email 
       </th> 
       <th>Phone Number 
       </th> 
       <th>Address 
       </th> 
       <th>Editing 
       </th> 
       <th>Delete 
       </th> 
       </tr> 
      </thead> 
      <tbody> 
       <tr ng-repeat="personalDetail in personalDetails"> 

       <td>{{personalDetail.name}}</td> 
       <td>{{personalDetail.email}}</td> 
       <td>{{personalDetail.phone}}</td> 
       <td>{{personalDetail.address}}</td> 
       <td> 
        <button class="btn btn-default" ng-click="open(personalDetail)">Edit {{ personalDetail.name }}</button> 
        <script type="text/ng-template" id="myModalContent.html"> 
        <div class="modal-header"> 
         <h3>The Customer Name is: {{ personalDetail.name }}</h3> 
        </div> 
        <div class="model-body"> 
         This is where the Customer Details Goes 
         <br /> 
         <form name="exampleForm" class="elegant-aero" ng-submit="addNew(customer); form.$setPristine()"> 
         <label>Name:</label> 
         <input type="text" name="userFirstName" ng-model="customer.name" required /> 
         <div ng-messages="exampleForm.userFirstName.$error"> 
          <div ng-message="required">This field is required</div> 
         </div> 

         <label>Email Address:</label> 
         <input type="email" name="userEmail" ng-model="customer.email" required /> 
         <div ng-messages="exampleForm.userEmail.$error"> 
          <div ng-message="required">This field is required</div> 
          <div ng-message="email">Your email address is invalid</div> 
         </div> 

         <label>Phone Number:</label> 
         <input type="text" name="userPhoneNumber" ng-model="customer.phone" ng-pattern="/^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/" required/> 
         <div ng-messages="exampleForm.userPhoneNumber.$error"> 
          <div ng-message="required">This field is required</div> 
          <div ng-message="pattern">Must be a valid 10 digit phone number</div> 
         </div> 

         <label>User Address:</label> 
         <textarea type="text" name="userMessage" class="form-control" rows="4" ng-model="customer.address" ng-minlength="10" ng-maxlength="100" required></textarea> 
         <div ng-messages="exampleForm.userMessage.$error"> 
          <div ng-message="required">This field is required</div> 
          <div ng-message="minlength">Message must be over 10 characters</div> 
          <div ng-message="maxlength">Message must not exceed 100 characters</div> 
         </div> 
         <br> 
         <div class="form-row"> 
          <button class="btn btn-primary" ng-click="ok(personalDetail)">Update Customer</button> 
         </div> 
         </form> 
        </div> 
        </script> 
       </td> 
       <td> 
        <input type="button" class="btn btn-danger pull-right" data-ng-click="remove(personalDetail.name)" value="Remove"> 
       </td> 
       </tr> 

      </tbody> 
      </table> 

     </div> 
     </div> 

    </div> 


    </div> 

</body> 

</html> 

的script.js

var app = angular.module('app', ['ui.bootstrap', 'ngMessages']); 
app.controller('CustomerController', function($scope, $timeout, $modal, $log) { 
    var taskData = localStorage['tasksList']; 
    if (taskData !== undefined) { 
    $scope.personalDetails = JSON.parse(taskData); 
    } 
    $scope.personalDetails = [{ 
    'name': 'Muhammed', 
    'email': '[email protected]', 
    'phone': '8095187009', 
    'address': 'Bangalore' 
    }, { 
    'name': 'Muhammed', 
    'email': '[email protected]', 
    'phone': '8095187009', 
    'address': 'Bangalore' 
    }, { 
    'name': 'Muhammed', 
    'email': '[email protected]', 
    'phone': '8095187009', 
    'address': 'Bangalore' 
    }]; 

    $scope.addNew = function(personalDetails) { 
    $scope.personalDetails.push({ 
     'name': personalDetails.name, 
     'email': personalDetails.email, 
     'phone': personalDetails.phone, 
     'address': personalDetails.address, 

    }); 
    $scope.PD = {}; 
    localStorage['tasksList'] = JSON.stringify($scope.personalDetails); 
    $scope.personalDetails = angular.copy($scope.personalDetails); 
    }; 

    $scope.remove = function(name) { 
    var index = -1; 
    var comArr = eval($scope.personalDetails); 
    for (var i = 0; i < comArr.length; i++) { 
     if (comArr[i].name === name) { 
     index = i; 
     break; 
     } 
    } 
    if (index === -1) { 
     alert("Something gone wrong"); 
    } 
    $scope.personalDetails.splice(index, 1); 
    }; 

    // MODAL WINDOW 
    $scope.open = function(customer) { 

    var modalInstance = $modal.open({ 
     controller: "ModalInstanceCtrl", 
     templateUrl: 'myModalContent.html', 
     resolve: { 
     customer: function() { 
      return customer; 
     } 
     } 
    }); 

    }; 

}); 
app.controller('ModalInstanceCtrl', function($scope, $modalInstance, customer) { 
    $scope.customer = customer; 

    $scope.ok = function(customer) { 

    $modalInstance.close($scope.customer); 
    }; 

}); 

//]]> 

的style.css

/* 
    Credit: http://www.sanwebe.com/2013/10/css-html-form-styles 
*/ 

.elegant-aero { 
    margin-left:auto; 
    margin-right:auto; 
    margin-top: 25px; 
    max-width: 600px; 
    background: #D2E9FF; 
    padding: 20px 20px 20px 20px; 
    font: 12px Arial, Helvetica, sans-serif; 
    color: #666; 
} 

.elegant-aero label { 
    display: block; 
    margin: 0px 0px 5px; 
} 

.elegant-aero input[type="text"], .elegant-aero input[type="email"], .elegant-aero textarea { 
    color: #888; 
    width: 60%; 
    padding: 0px 0px 0px 5px; 
    border: 1px solid #C5E2FF; 
    background: #FBFBFB; 
    outline: 0; 
    -webkit-box-shadow:inset 0px 1px 6px #ECF3F5; 
    box-shadow: inset 0px 1px 6px #ECF3F5; 
    font: 200 12px/25px Arial, Helvetica, sans-serif; 
    height: 30px; 
    line-height:15px; 
    margin: 2px 6px 16px 0px; 
} 

.elegant-aero textarea{ 
    height:100px; 
    padding: 5px 0px 0px 5px; 
    width: 60%; 
} 

.elegant-aero div { 
    display:inline-block; 
    vertical-align:top; 
    color: red; 
    margin-top: 5px; 
} 

讓我告訴你我的plunker工作正常https://plnkr.co/edit/zHzQU09RI6bKcDtC8bzy?p=preview

請在這方面幫助我。如果有人幫我解決這個問題,我將很感激。

+0

什麼是錯誤您收到? – Sajeetharan

+0

「錯誤:[$注射器:unpr] http://errors.angularjs.org/1.4.2/$injector/unpr?p0=%24modalProvider%20%3C-%20%24modal%20%3C-%20CustomerController –

+0

在這之前檢查是否有任何控制檯錯誤?我的意思是參考 – Sajeetharan

回答

1

有一定的參考,當你你的機器上運行它,它不會加載,如下更改,

<script src='https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js'></script> 
<script src='https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.4/angular-messages.min.js'></script> 
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" ></script> 
<script src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.11.2.js"></script> 
<script src="sample.js"></script> 
+0

謝謝您的幫助 –

相關問題