1

我有一个订单表格,其中包含一个文本区域和一个“提交”按钮。字段是自动保存的,即字段值更改的那一刻,它被保存到数据库中。COMMIT 按钮将订单状态更改为“已提交”,同时保存。

当用户在文本区域中键入内容时,问题就出现了,然后在不离开该字段的情况下单击“提交”。触发了 textarea 的更改事件,但这似乎破坏了按钮单击。我必须再次单击 COMMIT 按钮。

如何让两个事件都触发?(他们需要独立触发,因为用户可以自由编辑字段并单击提交,但她选择。我当然不能让 updateInstructions 方法直接触发提交!)

编码:

events: {
    "change textarea"       : "updateInstructions",
    "click .btnCommit"      : "btnCommit",
},

updateInstructions: function(e){
    var target = $(e.currentTarget),
        name = target.attr('name'),
        value = target.val(),
        data = {};
    data[name] = value;
    this.model.save(data, {
        success: function(model, response){
            //handle response
        },
        wait: true,
        patch: true
    });
},
btnCommit: function(e){
    e.preventDefault();
this.updateOrderStatus(this.ORDER_STATUS_SUBMITTED);
},
4

1 回答 1

0

不要在事件中使用更改,而是使用这样的模糊,我认为这就足够了。

events: {
    "blur textarea"       : "updateInstructions",
    "click .btnCommit"      : "btnCommit",
}, 
于 2013-05-17T15:59:06.410 回答