0

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 に干渉する可能性のある何かが起こっていますか? 誰かが私を正しい方向に向けることができますか?

4

1 に答える 1

3

これは、タイプ ボタン ボタンが送信イベントを発生させないためです。それを起動するにはボタンタイプの送信が必要です

于 2013-04-25T12:59:04.100 に答える