2017-10-22 4 views
0

ユーザーがフォームの任意の部分をクリックしてからAnglujarJSを使用してフォームを送信しようとしています。ここで私はそれをやってみました方法は次のとおりです。フォーム上のAngularJSプロセスフォームclick

<form ng-click="submit()" ng-app="MyApp" ng-controller="MyCtr"> 
     <input type="text" ng-model="my_val" name="my_val" value="0" style="display: none"/> 
</form> 

var app = angular.module('MyApp', []); 
app.controller('MyCtr', function($scope) { 
    $scope.submit = function() { 
      $scope.my_val; // This is undefined 
     }); 
    }; 
}); 

問題は$scopeは、フォームの値を持っていないということです。 ng-clickng-submitに置き換えた場合、値は存在しますが、送信ボタンをクリックしてフォームを送信する必要はありません。

+0

あなたは送信関数の外に '$のscope.my_val'を宣言する必要があります。 –

+0

フォームインスタンスをスコープに公開するには、name属性を指定する必要があります。

次に、$ scope.example.my_valを使用できます – alexhuang

答えて

3

submitの外に0 $scope.my_valを宣言して設定する必要があります。また、ijのコードでは不要な閉じ括弧もチェックされます。

var app = angular.module('MyApp', []); 
 
app.controller('MyCtr', function($scope) { 
 
$scope.my_val="0"; 
 
    $scope.submit = function() { 
 
    $scope.fromvalue.my_val 
 
    console.log($scope.fromvalue.my_val.$viewValue); 
 
    }; 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<form name="fromvalue" ng-click="submit()" ng-app="MyApp" ng-controller="MyCtr"> 
 
<input type="text" ng-model="my_val" name="my_val" value="0"/> 
 
</form>

関連する問題