2012-03-05 7 views
0

jQueryが初めてです。私はいくつかのフィールドを隠すフォームを作成しました。ボタンフィールドをクリックして関数を作成しました。ここでは、この関数定義では、非表示のフィールドを私のテキストフィールドと別のボタンの表示を解除します。私が使用するIコードは次のとおりです。後別の関数に値を返す

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 
    }); 
}, 

:別のボタンのクリックで今

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

私はこのような別の関数を呼び出す(コメントを参照してください。「これは、私の別のボタンです」)条件が真の値を返すならば、私は後処理を行うことができる最初のファンクションに転送することをコトロールにしたい。可能ならば、どうすればこれを達成できるのでしょうか?どんな助けもありがとう。

+1

真を返す前にそれを呼んでください –

+0

@KarolyHorvath - それは良いアドバイスだとは思いません。あなたの推薦をさらに引き出すことで、次のものを呼び出す次のものを呼び出す機能の迷路に簡単に終わることができます。 – maxedison

答えて

1

確かに事前のおかげで、このような何か:もちろん

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

が、これは正確に、おそらくあなたのための右のコードではありません。 =ではなく、すべての関数に:を割り当てているということは、それらが大きなオブジェクトの中にあることを示しています。したがって、彼らはmyObject.finishOrder()のように呼び出さなければなりません。しかし、私が上に書いた一般的なアプローチはうまくいくでしょう。

2つのメモとして、jQueryで質問にタグを付け、あなたの投稿で参照していますが、実際にコードにjQueryの1行はありません。

+0

どうすれば私のfuctionで上記を使用できますか?私のボタンは次のように定義されています:........ $( 'button#finish-ok'、this。$ element).click(_ bind(this.FinishcheckPassword、this)); – Inventillect

関連する問題