【问题标题】:Returning a value to another function将值返回给另一个函数
【发布时间】:2012-03-05 13:54:04
【问题描述】:

我是 jQuery 的新手。我创建了一个表单,其中隐藏了一些字段。我在单击按钮字段时创建了一个函数。在此函数定义中,我取消隐藏隐藏字段,一个是我的文本字段,另一个是按钮。我使用的代码是:

finishOrder: function() {
    document.getElementById("create-pwd").style.display = "block"
    document.getElementById("finish-ok").style.display = "block" // this is my another button
    // do further processing
},

现在点击另一个按钮(请看评论“这是我的另一个按钮”)我调用另一个函数是这样的:

FinishcheckPassword: function() {
    var pas = document.getElementById("pos-password")
    var user = new db.web.Model("res.users").get_func("read")(this.session.uid, ['password']).pipe(function(result) {
        if(pas.value == result.password){
            return true
    });
},

在 if 条件返回 true 值后,我想将控件转移到第一个函数,在那里我可以做进一步的处理。是否有可能,如果可以,如何实现?任何帮助将不胜感激。

【问题讨论】:

  • 在返回true之前调用它
  • @KarolyHorvath - 我不确定这是个好建议。进一步考虑你的建议,你很容易得到一个功能的迷宫,其中一个调用下一​​个调用下一​​个调用下一​​个等等......

标签: javascript jquery jquery-selectors jquery-events


【解决方案1】:

当然,是这样的:

$('#finish-ok').click(function(){
    if(FinishcheckPassword()){
        finishOrder();
    }
}

当然,这可能不是完全适合您的代码。您使用: 而不是= 分配所有函数这一事实表明它们位于某个更大的对象内。因此,它们必须被称为myObject.finishOrder()。但是我上面写的一般方法会起作用。

作为一些旁注,您已使用 jQuery 标记问题并在您的帖子中引用它,但实际上您的代码中没有一行 jQuery。

【讨论】:

  • 如何在我的功能中使用上述内容。我的按钮是这样定义的:........ $('button#finish-ok', this.$element).click(_.bind(this.FinishcheckPassword, this));
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-15
  • 1970-01-01
  • 1970-01-01
  • 2016-05-18
  • 2021-04-10
  • 1970-01-01
相关资源
最近更新 更多