2016-11-18 49 views
0

如何通過單擊按鈕保存窗體中的數據? 我不明白錯誤在哪裏。 按照計劃,當你從存儲在變量「大師」從窗體保存數據按鈕點擊

例如現場上的數據點擊我使用本教程:http://www.w3schools.com/angular/angular_forms.asp所有的

<!DOCTYPE html> 
<html lang="en"> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
<body> <div ng-app="myApp" ng-controller="formCtrl"> 
    <form novalidate> 
    First Name:<br> 
    <input type="text" ng-model="firstName"><br> 
    <button ng-click="copyData()">Click Me!</button> 
    </form> 
    <p>form = {{user}}</p> 
    <p>master = {{master}}</p> 
</div> 
    <script> 
var app = angular.module('myApp', []); 
app.controller('formCtrl', function($scope) { 
    $scope.master = {uder.firstName}; 
    $scope.reset = function() { 
     $scope.user = angular.copy($scope.master); 
    }; 
    $scope.reset(); 
    $scope.copyData=function(){ 
     $scope.master1=angular.copy($scope.mas); 
     $scope.copyData(); 
} 
}); 
</script> 
</body> 
</html> 
+0

究竟你想在這裏做什麼? – Sravan

+0

通過點擊「Click me!」保存表單中的數據 – Dmitry

+0

要保存哪些數據以及在哪裏? – Sravan

回答

0

感謝所有! 工作版本:

(function(angular) { 
 
    'use strict'; 
 
angular.module('scopeExample', []) 
 
    .controller('MyController', ['$scope', function($scope) { 
 
    $scope.username = 'World'; 
 

 
    $scope.sayHello = function() { 
 
     $scope.greeting = 'Hello ' + $scope.username + '!'; 
 
    }; 
 
    }]); 
 
})(window.angular);
-<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <title>Angular JS</title> 
 
    <link rel="stylesheet" type="text/css" href="style.css"> 
 
    <script src="angular.min.js"></script> 
 
    <script src="weather 2.js"></script> 
 
    </head> 
 
    <body ng-app="scopeExample"> 
 
    <div ng-controller="MyController"> 
 
    Your name: 
 
     <input type="text" ng-model="username"> 
 
     <button ng-click='sayHello()'>greet</button> 
 
    <hr> 
 
    {{greeting}} 
 
    </div> 
 
    </body> 
 
    </html>

0

首先,你有一個錯字錯誤。將{uder.firstname}{user.firstname}替換。

您應該花些時間瞭解範圍,以及如何使用變量,您在範圍上聲明。

你聲明的輸入與NG-模型=「名字」,但在控制器上你有屬性名字用戶對象。您應該將形式更改爲:

<input type="text" ng-model="user.firstName"><br> 
<button ng-click="reset()">RESET</button> 
<button ng-click="copyData()">Click Me!</button> 

,並在控制器

app.controller('formCtrl', function($scope) { 
     $scope.user = { firstname:"", lastname:"" }; //init your user 
     $scope.master = user.firstname; //or user object itself, dont understand what exactly you would like to achieve 
     $scope.reset = function() { 
      $scope.user = $scope.master; 
}; 

$scope.copyData=function(){ }//call your onclick event 
    //set the data, that you want directly here. Recursion will not work. 

更多有關scopeforms一定能幫助你。

0

首先,有一些錯別字,如$scope.mas{uder.firstname}

儘管如此,您正在使用ng-model指令將屬性賦值給$ scope對象,但在控制器中,您正嘗試使用名爲user的對象來訪問它,而此對象在此處未定義。以下是更改你的代碼

First Name:<br> 
      <input type="text" ng-model="user.firstName"><br> 
      <button ng-click="reset()"> 
       RESET</button> 
      <button ng-click="copyData()"> 
       Click Me!</button> 
      </form> 
      <p> 
       form = {{user}}</p> 
      <p> 
       master = {{master}}</p> 

控制器會像

$scope.reset = function() { 
        $scope.user = angular.copy($scope.master); 
       }; 
       $scope.reset(); 
       $scope.copyData = function() { 
       $scope.master = user.firstName; 
       $scope.master1=angular.copy($scope.master); 
       $scope.copyData(); 
       };