2017-01-16 2 views
0

私はhtmlコード角度js 1のテキストボックス値にアクセスする際に問題がありますか?

<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> 

用コントローラコード変数

をNG-からkeyup上の関数を呼び出すと、実際に渡され、「未定義」を持ってしまっていないテキストボックスの値を渡すためにしようとしています機能

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

を明確にするだけで、あなたは' NG-[値]のために何が必要ですか? – 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-keyup = "vm.firstLetterCaps('fname',vm.contact.fname)" 
+0

私はすでに試しましたが、コンソールで未定義の値を得ました。 – SaMeEr

+0

@SaMeEr:基本的には、入力フィールドの最初の文字をキャプチャし、vm.contact = {} – Thalaivar

+0

はいのように、あなたのVMにあなたのコントローラの連絡先オブジェクトがあるかどうかをチェックします。私はすでにそれを追加しましたが、それでも同じ問題があります。 – SaMeEr

関連する問題