Reputation: 1196
Here is my HTML :
<div data-options="dxView : { name: 'home', title: 'Home' } " >
<div class="home-view" data-options="dxContent : { targetPlaceholder: 'content' } " >
<input data-bind="dxTextBox: { value: username }" />
<input data-bind="dxTextBox: { value: password }" />
<div data-bind="dxButton: { text: 'Login', clickAction: validateLogin }"></div>
</div>
Here is my JavaScript Controller
MyApp.home = function (params) {
var viewModel = {
username: ko.observable(''),
password: ko.observable(''),
validateLogin : function ()
{
console.log(this.username());
userNameTxt = this.username();
alert(this.username());
}
};
return viewModel;
};
The value of text fields is not getting retireved. Blank message is being alerted.
Upvotes: 0
Views: 571
Reputation: 11
userName: {
value: ko.observable(""),
valueUpdateEvent: 'keyup search',
placeholder: "Username",
},
password: {
value: ko.observable(""),
mode: 'password',
placeholder: "type a password",
valueUpdateEvent: 'keyup search',
},
check it
Upvotes: -1
Reputation: 1568
just change in alert "this" to "viewModel". like belo
MyApp.home = function (params) {
var viewModel = {
username: ko.observable(''),
password: ko.observable(''),
validateLogin : function ()
{
console.log(this.username());
userNameTxt = this.username();
alert(viewModel.username());
}
};
return viewModel;
};
Upvotes: 1