2017-01-16 6 views
0

Я звоню функцию на нг-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

Просто чтобы прояснить, Что вам нужно для 'нг-value', когда у вас есть' нг-model'? – 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-keyup = "vm.firstLetterCaps('fname',vm.contact.fname)" 
+0

Я уже пробовал, но получил неопределенное значение в консоли. – SaMeEr

+0

@SaMeEr: Итак, в основном вы хотите заархивировать свою первую букву в поле ввода справа, а также проверить, имеет ли ваш vm контактный объект в вашем контроллере, например vm.contact = {} – Thalaivar

+0

Да. Я уже добавил это, но все еще имею ту же проблему. – SaMeEr