1
我想提交我的表單到休息服務使用淘汰賽。按下submit
按鈕後,表單進入無限循環,直到瀏覽器崩潰。無法真正理解這裏發生了什麼。KnockoutJs提交綁定啓動inifinite循環
的Javascript:
var viewModel;
var Subscription = function() {
var self = this;
self.Name = ko.observable('');
self.Email = ko.observable('');
self.submitForm = function() {
var viewModelJs = ko.toJS(ko.utils.unwrapObservable(viewModel));
$.ajax('/umbraco/surface/newsletter/AddSubscription', {
data: viewModelJs,
type: "POST",
async: true,
contentType: "application/json",
dataType: "json",
success: function (result) {
alert("sent");
},
error: function (error) {
if (window.console && console.log) {
console.log(error);
}
}
});
return false;
};
};
$(function() {
viewModel = new Subscription();
ko.applyBindings(viewModel);
});
這裏是我的表格:
<form class="form-horizontal" data-bind="submit: $root.submitForm">
<div class="control-group">
<label class="control-label" for="Name">Nombre</label>
<div class="controls">
@Html.TextBoxFor(m => m.Name, new { placeholder = "Nombre", data_bind = "value: Name" })
@Html.ValidationMessageFor(m => m.Name)
</div>
</div>
<!-- A couple more controls here -->
<div class="control-group">
<div class="controls">
<button type="submit" class="btn">Enviar</button>
</div>
</div>
</form>
耶穌的功能...... – amhed
結束了使用'VAR viewModelJs = ko.toJSON(視圖模型) ;' – amhed
在github中看到這個問題:https://github.com/knockout/knockout/issues/251它應該在下一個版本的knockout中修復。 –