0

我在 ng-keyup 上调用函数并尝试传递一个实际上没有传递的文本框值并得到“未定义”变量

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;
          }
4

1 回答 1

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)"
于 2017-01-16T13:34:22.333 回答