これは Angular.JS の Email Check 要素コードです ほとんどは問題ありませんが、これには問題があります。メールチェック項目を記入すると、 リセットです!
例 I これを email check 要素に書き込みます。
"test@test.com"
でもこれはリセット!「。」を書くとき ←ポイント。
"test@test" <- OK
「テスト@テスト」<- 入力をリセットします。「。」を書くとき <-
なぜ問題が発生したのですか?
Javascript
<script>
angular.module('test', [])
.controller('MyController', ['$scope', '$window', function($scope, $window) {
$scope.sendMessage=function(toSb){
alert(toSb);
};
}])
.directive('emailInput', function($compile) {
return {
restrict: 'C',
template: '<input type="email" ng-model="emailtext" required>{{emailtext}}',
link: function(scope, elem, attrs){
scope.name="emailAddress";
var input = elem.find("input")[0];
input.name = "emailAddress";
$compile(input)(scope);
}
};
});
</script>
HTML
<form name="myForm">
<div class="email-input"></div>
inputIsValid={{myForm.emailAddress.$valid}}<br>
<span class="error" ng-show="myForm.emailAddress.$error.required">Required!</span>
<span class="error" ng-show="myForm.emailAddress.$error.email">Not valid email!</span>
</form>