Pyramid を使用して Web アプリケーションを構築していますが、Knockout の動作が異なります。私はフォームを持っています:
<div data-bind="with: $root.itemToAdd" style="display: none;">
<form data-bind="submit: $root.addItem">
<fieldset style="border: none;">
<legend >Submit Item</legend>
<label>
URL <span>{</span>
</label>
<input type="text" placeholder="URL" data-bind="value: url, valueUpdate: 'afterkeydown'" />
<br />
<br />
<label>
Kwip <span>{</span>
</label>
<input type="text" placeholder="Your description please!" data-bind="value: description, valueUpdate: 'afterkeydown'" />
<br />
<br />
<button type="button" class="submitAnItem">Add Item</button>
<a href="#" class="exit">Cancel</a>
</fieldset>
</form>
</div>
ビューモデルは次のとおりです。
var ViewModel = function() {
this.itemToAdd = {
url: ko.observable(""),
description: ko.observable("")
};
//Behavior
this.addItem = function () {
alert('Event fired');
};
};
フォームが送信されたときに「addItem」関数が起動されない理由がわかりません。これを別のフレームワークで再作成し、イベントを発生させることができました。Pyramid で私の JavaScript に干渉する可能性のある何かが起こっていますか? 誰かが私を正しい方向に向けることができますか?