AngularJSフォーム要素を検証できません。コードスニペットを含めました。キーが押されると、可能な名前をチェックするjavaScript関数を呼び出すために"onkeyup
"イベントがトリガーされます。
そして、このフィールドに検証を加えようとしたとき、効果が適用されていないようです。親切にいくつかの提案で私を助けてください。
<form name="findCusFrm">
<div class="col-md-2">
<input style=" width: 100%;"name="firstname" onkeyup="fname();"class="textox form-control" id="firstname" type="text"
placeholder="Firstname" ng-pattern="/^[^\d][a-z A-Z]+$/" ng-minlength=3 ng-maxlength=20 ng-trim="true" required >
<span ng-show="findCusFrm.firstname.$error.required && findCusFrm.firstname.$touched">First Name Required..
</span>
<span ng-show="findCusFrm.firstname.$error.pattern && findCusFrm.firstname.$dirty">Invalid Field Format..
</span>
<span ng-show="findCusFrm.firstname.$dirty && findCusFrm.firstname.$error.minlength">Too Short..
</span>
<span ng-show="findCusFrm.firstname.$dirty && findCusFrm.firstname.$error.maxlength">Too Long..
</span>
<input type="hidden" id="setfname">
</div>
そしてこれはfname()javascript関数です。
function fname()
{
$(document).ready(function(){
var autocomplete;
$("#firstname").autocomplete({
source: "requestfname.html",
minLength: 1,
response: function (event, ui) {
if ((ui['content'].length) == 0) {
alert("No such fname Exists!!!");
}
},
select: function (event, ui) {
$('#email').val(ui.item.value);
var element = document.getElementById('setfname');
element.value = ui.item.value;
// alert(element.value);
}
});
});
}
onclick()の代わりにng-keyupを使用し、jQueryコードを完全に回避することで、必要なソリューションを得ることができました。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加