0

私はangularJs 1.6を使用していますが、ng-modelのhtml上に2つの入力型要素があります。 ng-clickオン 私は、コントローラ内の関数にデバッグするとき、私は得ることはありませんされていることをng-modelが期待通りに動作しません

$scope.findDistance=function(source, destination) 
{ 
    alert("source " + source + "destination " + destination); 
    $scope.errorStatus = "false"; 

    if ((source == undefined || source == null || source == '') || (destination == undefined || destination == null || destination == '')) 
    { 
     $rootScope.setInvalidError(); 
    } 
    else 
    { 
     $scope.source_address = source; 
     $scope.destination_address = destination; 
     $scope.initMap(); 
     $scope.getEstimatePrice(source, destination); 
    } 
} 

問題ここでは、コントローラ上の私のコントローラに機能を通じて

<div> 
    <input type="text" placeholder="From" id="fromlocation" name="mfrom" data-ng-model="mfrom"> 
    <input type="text" placeholder="To" id="tolocation" name="mto" data-ng-model="mto"> 
    <input type="button" class="button" value="Estimate" data-ng-click="findDistance(mfrom,mto)"> 
</div> 

機能をこれらの値を渡す機能を持っています入力タイプで入力された完全なテキスト。機能上4文字しか転送されていませんが、これはいつかは機能しません。私は正確な問題は何か分かりません。

+0

上のHTML

<div> <input type="text" placeholder="From" id="fromlocation" name="mfrom" ng-model="mfrom"> <input type="text" placeholder="To" id="tolocation" name="mto" ng-model="mto"> <input type="button" class="button" value="Estimate" ng-click="findDistance(mfrom,mto)"> </div> 

にこの

のようなものを試してみてください、あなたは$ scope.initMap()関数の中で何かをやっていますか?ここでデータをトリミングする何かをやっているかもしれません。 –

+0

あなたの関数はパラメータとして未定義になると思います。このように書き直してみてください。 $ scope.findDistance = function(){$ scope.mfromと$ scope.mtoを引数として使用} –

+0

@ RakeshBurbureこれを介して私はGoogleマップAPIをiinitializingですが、その前に私はそれが入力されたものと同じではないアラートの値をチェックしています。それは2文字までいくつかの時間をトリムすることを意味します。 – user3199286

答えて

0

これを試してみてください:

<div> 
    <input type="text" placeholder="From" id="fromlocation" name="mfrom" data-ng-model="mfrom"> 
    <input type="text" placeholder="To" id="tolocation" name="mto" data-ng-model="mto"> 
    <input type="button" class="button" value="Estimate" data-ng-click="findDistance()"> 
</div> 

この方法で、あなたはハンドラ関数内でそれらの入力変数にアクセスする必要があります。また、別のコントローラの機能で$scope.mfrom & $scope.mtoがトリミングされている(多分?)かどうかチェックしてみてください。

$scope.findDistance=function() 
{ 
    let source = $scope.mfrom; //direcly obtained 
    let destination = $scope.mto; 
    //The rest of the code 
} 
+0

それを試しましたが、同じ結果を得ました – user3199286

0

はJS

$scope.mfrom = 'value1'; 
$scope.mto = 'value2'; 
+0

も同じ結果を試しました。 – user3199286

関連する問題