2014-05-06 95 views
0

我想在保存一些數據後清除輸入文本,但它不起作用。這是我迄今爲止所嘗試過的(它也在評論中):輸入文本未被清除

在此先感謝您的幫助!

HTML:

<div id="add-tag"> 
    <h3>Add new tag</h3> 
    <form name="addTagForm"> 
     <input class="form-control" type="text" ng-model="newTag" ng-change="onChangeTag()"> 
     <button class="btn btn-primary" ng-click="addTag(newTag)">Add Tag</button> 
    </form>    
</div> 

JS:

//$scope.master = {}; 

// Reset scope 
$scope.reset = function() { 
    $scope.newTag = ""; 
    //$scope.newTag = angular.copy($scope.master); 
}; 


$scope.addTag = function(tag) { 

    // Save some data (this works fine) 
    // .... 

    // Reset input field 
    $scope.reset();  
}; 

UPDATE:

我的NG-控制器設定到父模板(我使用的UI 。路由器)。只是將其添加到子模板,它確實工作。

<div id="add-tag" ng-controller="FormController"> 
    <h3>Add new tag</h3> 
    <form name="addTagForm"> 
     <input class="form-control" type="text" ng-model="newTag" ng-change="onChangeTag()"> 
     <button class="btn btn-primary" ng-click="addTag(newTag)">Add Tag</button> 
    </form>    
</div> 
+0

可不可以給it.Since你的代碼重置文本框的工作示例。 – Shivaraj

+0

此代碼必須正常工作。看看是否有其他代碼導致問題。 – mayankcpdixit

回答

1

我是angularjs中的新人,但在嘗試了一些事情後,我得到了某種解決方案。你可以檢查this bin。我剛纔說的控制: -

function test_c($scope){ 

$scope.reset = function() { 
$scope.newTag = ""; 
//$scope.newTag = angular.copy($scope.master); 
}; 

$scope.addTag = function(tag) { 

// Save some data (this works fine) 
// .... 

// Reset input field 
$scope.reset();  
};} 

查看HTML部分: -

<body ng-app> 
    <div id="add-tag" ng-controller="test_c"> 
    <h3>Add new tag</h3> 
    <form name="addTagForm"> 
    <input class="form-control" type="text" ng-model="newTag" ng-change="onChangeTag()"> 
    <button class="btn btn-primary" ng-click="addTag(newTag)">Add Tag</button> 
    </form>    
</div> 
+0

謝謝Bik!我已經使用控制器,但也使用模板的ui.router。 ng控制器被設置爲父模板。只需將它添加到我的模板中,它就可以工作! – Teknotica