2017-01-16 5 views
0

내가 NG-의 keyup에 함수를 호출 실제로 통과있어되지 않은 텍스트 상자에 값을 전달하려고 노력하고 을 가지고 있어요 "정의되지 않은" 변수각도 js 1에서 텍스트 상자 값에 액세스 할 때 문제가 발생합니까?

HTML 코드

<md-input-container class="md-icon-float md-block"> 
       <label >First Name </label> 
       <md-icon md-font-icon="icon-account" class="name"></md-icon> 
       <input type="fname" id="fname" name="fname" ng-value = "{{vm.form.fname}}" ng-model="vm.contact.fname" ng-pattern="/^[a-zA-Z ]{2,30}$/" type="text" ng-keyup = "vm.firstLetterCaps('fname',vm.form.fname)" required> 
       <div ng-messages="contactForm.fname.$error" role="alert"> 
         <div ng-message="required"> 
          <span>First name is required</span> 
         </div> 
         <div ng-message="pattern"> 
          <span>First name must be a valid </span> 
         </div> 
     </div> 
</md-input-container> 

컨트롤러 코드 기능

function firstLetterCaps(textboxid, str){ 
      console.log(textboxid) 
      console.log(str) 
      // string with alteast one character 
       if (str && str.length >= 1) 
       {  
        var firstChar = str.charAt(0); 
        var remainingStr = str.slice(1); 
        str = firstChar.toUpperCase() + remainingStr; 
       } 
       if() 
       document.getElementById(textboxid).value = str; 
      } 
+0

그냥 명확히? – lealceldeiro

+0

이미 시도했지만 콘솔에 정의되지 않은 값이 있습니다. – SaMeEr

답변

0
<input type="fname" id="fname" name="fname" ng-value = "{{vm.form.fname}}" 
    ng-model="vm.contact.fname" ng-pattern="/^[a-zA-Z ]{2,30}$/" type="text" 
    ng-keyup = "vm.firstLetterCaps('fname',vm.form.fname)" required> 

직접 전달할 수 있습니다 ng-model 자체 아래와 같이 : 당신은`NG-model`이있을 때 당신은`NG-값 '을 위해 필요한 일을

ng-keyup = "vm.firstLetterCaps('fname',vm.contact.fname)" 
+0

이미 시도했지만 콘솔에 정의되지 않은 값이 있습니다. – SaMeEr

+0

@SaMeEr : 기본적으로 입력 필드에서 첫 글자를 캡 티알 리하고 vm.contact = {} – Thalaivar

+0

예와 같이 컨트롤러에 연락처 객체가 있는지 확인해야합니다. 나는 이미 그것을 추가했지만 여전히 같은 문제가 있습니다. – SaMeEr