2017-07-07 33 views
1

我的角應用程序,我使用重置按鈕來清除文本框中的數據。但是綁定與重置按鈕無法正常工作。角JS數據綁定不適用於HTML5重置按鈕

<form> 
    <input type="text" name="email" ng-model="ch.email"><br> 
    <input type="reset" value="Reset"> 
</form> 

<div>{{ch.email}}</div> 

當某些文本在文本框中鍵入,它出現在div,但復位後,在div中的文本不消失。

Please see the fiddle

回答

1

您可以使用一個按鈕,而不是

HTML

<form> 
    <input type="text" name="email" ng-model="changestore.sample"> 
    <br> 
    <input type="button" value="Reset" ng-click="reset()"> 
</form> 
<div id="textdisplay"> 
    {{changestore.sample}} 
</div> 

JS

$scope.reset=function(){ 
    $scope.changestore={}; 
} 

工作小提琴http://jsfiddle.net/ADukg/12591/

+0

這將是一個更簡單的方法 Tik

+1

這是通常的做法。但是,由於HTML 5提供了一個重置​​按鈕,我在問爲什麼它與Angular不兼容 –

+0

@ I'mnidhin我已經更新了我的答案 – Vivz

0

http://jsfiddle.net/aks0kmwe/

HTML 5復位按鈕不會清除NG-模型,它從輸入框

工作實施例僅清除值HTML5重置按鈕只會清除輸入控件值,但不會清除角度ng模型值,這並不意味着它正在刷新頁面,而是將html表單域重置爲其初始值。這裏是工作示例

Html: 
    <form> 
     <input type="text" data-ng-model="name" /> 
     <span data-ng-bind="name"></span> 
     <input type="reset" value="Reset" /> 
    </form> 

Script: 
     var myApp=angular.module('myApp',[]) 
         .controller('myCtrl',function($scope){ 
         $scope.name="Angular JS"; 
         }) 

當你點擊復位按鈕,它會清除文本框,但不能跨越標籤value.After這個你嘗試使用angular.element($ 0).scope()的訪問範圍name屬性值在瀏覽器上執行檢查元素,但它仍然是「Angular JS」。