2016-11-25 5 views
0

Enterキーを押すとログインページが機能するようになっていますが、機能しません。誰にでも助けますか?ここ は私のコードです:Enterキーでログインするノックアウトjs

Javascriptを/ ViewModelに:

ko.bindingHandlers.enterkey = { 
    init: function (element, valueAccessor, allBindings, viewModel) { 
     var callback = valueAccessor(); 
     $(element).keypress(function (event) { 
      var keyCode = (event.which ? event.which : event.keyCode); 
      if (keyCode === 13) { 
       callback.call(viewModel); 
       return false; 
      } 
      return true; 
     }); 
    } 
}; 

Mobile.Login = function (params) { 
    var viewModel = { 
     dxPasswordTB: { 
      value: ko.observable(""), 
      showClearButton: true, 
      placeholder: ko.observable("PASSWORD"), 
      mode: 'password' 
     }, 
     validateAndSubmit: function (params) { 
      var result = params.validationGroup.validate(); 
      ... 
     }, 
    }; 
    return viewModel; 
}; 

ビュー/ HTML:ここでは何が悪かったのか

<div class="row"> 
    <div class="col-sm-12 col-xs-12"> 
     <div class="form-group"> 
      <div class="input-group"> 
       <span class="input-group-addon"><i class="icon-password"></i></span> 
       <div class="form-control"> 
        <div data-bind="dxTextBox: dxPasswordTB, dxValidator: PasswordVR, valueUpdate: 'afterkeydown', enterkey: validateAndSubmit""></div> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 

任意のアイデア?もしそうなら、あなたの提案をここに投稿してください、ありがとう!

+0

あなたは 'callback.call(viewModel);の代わりに' validateAndSubmit'関数を呼び出そうとしましたか? – gkb

+0

@gkb Enterキーを押したときにエラーが発生しました:Login.js:97 Uncaught TypeError:未定義の 'validationGroup'プロパティを読み取ることができません – Anony

+0

@gkb試しましたが、エラーは依然として続きます – Anony

答えて

0

devExpressのdxPasswordTBでonEnterKeyを使用してこれを解決することができました。また、params.validationGroup.validate();DevExpress.validationEngine.validateGroup()に変更し、最後に値を定義しました。

関連する問題