SO - Serializing to JSON in Knockout.js
http://stackoverflow.com/questions/8758593/knockout-js-serialize-to-json-a-class
by kougiland
HTML
<script src="http://rniemeyer.github.com/KnockMeOut/Scripts/knockout-latest.debug.js"></script>
<div id="users-create">
<form data-bind='submit: saveUser'>
<div>
<label for="login">
Login</label>
<input type="text" name="login" class="required" data-bind="value: newUser().Login" />
</div>
<div>
<label for="firstname">
Firstname</label>
<input type="text" name="firstname" class="required" data-bind="value: newUser().FirstName" />
</div>
<div>
<label for="lastname">
Lastname</label>
<input type="text" name="lastname" class="required" data-bind="value: newUser().LastName" />
</div>
<div>
<label for="email">
Email</label>
<input type="text" name="email" class="required email" data-bind="value: newUser().Email" />
</div>
<div>
<label for="password">
Password</label>
<input type="password" name="password" class="required" data-bind="value: newUser().Password" />
</div>
<div class="form-submit">
<input type="submit" value="Valider" />
</div>
</form>
</div>
JavaScript
var User = function () {
this.Login = ko.observable();
this.FirstName = ko.observable();
this.LastName = ko.observable();
this.Password = ko.observable();
this.Email = ko.observable();
};
var UsersPage = function () {
var self = this;
self.users = ko.observableArray([new User()]);
self.newUser = ko.observable(new User());
self.saveUser = function () {
alert(ko.toJSON(self.newUser()));
};
};
ko.applyBindings(new UsersPage());