Javascript KnockoutJS提交绑定不适用于foreach

Javascript KnockoutJS提交绑定不适用于foreach,javascript,knockout.js,Javascript,Knockout.js,您好,我无法使用敲除“提交”绑定和“foreach”绑定。 我想不出这里出了什么错。 请帮我找出我的错误 我的视图模型如下所示: function poReceivingModel(){ var self = this; var initial_row = new poReceivingRowModel(); self.rows = ko.observableArray([initial_row]); self.saveAndAdd = function(form

您好,我无法使用敲除“提交”绑定和“foreach”绑定。 我想不出这里出了什么错。 请帮我找出我的错误

我的视图模型如下所示:

function poReceivingModel(){
    var self = this;
    var initial_row = new poReceivingRowModel();
    self.rows = ko.observableArray([initial_row]);
    self.saveAndAdd = function(formElement){
        alert('entered into function');
        var row = new poReceivingRowModel();
        self.rows.push(row);
    };
};

function poReceivingRowModel(){
    var self = this;
    self.building = ko.observable();
    self.isele_abc = ko.observable();
    self.isele_num = ko.observable();
    self.isele_floor = ko.observable();
};
<tbody data-bind="foreach: rows">
    <form data-bind="submit: $parent.saveAndAdd">
        <tr>
            <td>
                <!-- input field here -->
            </td>

            <td>
                <!-- input field here -->
            </td>

            <td>
                <!-- input field here -->
            </td>
            <td>
                <!-- input field here -->
            </td>
            <td>
                <button type="submit">Save and Add</button>
            </td> 
        </tr>
    </form>
</tbody>
我绑定到“viewmodel”的html如下所示:

function poReceivingModel(){
    var self = this;
    var initial_row = new poReceivingRowModel();
    self.rows = ko.observableArray([initial_row]);
    self.saveAndAdd = function(formElement){
        alert('entered into function');
        var row = new poReceivingRowModel();
        self.rows.push(row);
    };
};

function poReceivingRowModel(){
    var self = this;
    self.building = ko.observable();
    self.isele_abc = ko.observable();
    self.isele_num = ko.observable();
    self.isele_floor = ko.observable();
};
<tbody data-bind="foreach: rows">
    <form data-bind="submit: $parent.saveAndAdd">
        <tr>
            <td>
                <!-- input field here -->
            </td>

            <td>
                <!-- input field here -->
            </td>

            <td>
                <!-- input field here -->
            </td>
            <td>
                <!-- input field here -->
            </td>
            <td>
                <button type="submit">Save and Add</button>
            </td> 
        </tr>
    </form>
</tbody>

保存并添加
问题是,当我单击“添加并保存”按钮时,没有调用“poReceivingModel”中的“saveAndAdd”函数。 我没有收到任何警告信息。 我尝试在“button”元素上使用“click”绑定调用该函数。函数以这种方式调用(即我收到警报消息)

更新: 在firebug中,我看到表单标记在 按钮不符合“表单”标签

我发现表单标记不能在表标记内使用。解决方案是表格标签可以放在表格标签里面。 如果我们不想这样做,我们可以将表标记更改为div,但这可能无法提供所需的输出。

我发现表单标记不能在表标记内使用。解决方案是表格标签可以放在表格标签里面。
如果我们不想这样做,我们可以将table标记更改为div,但这可能无法提供所需的输出。

元素不能嵌套在
中是的,我知道了。谢谢
元素不能嵌套在
中是的,我明白了。谢谢
元素不能嵌套在
中是的,我明白了。谢谢