2017-01-18 9 views
0

私はそれの出力を見ることができるまた、JavaファイルからJavaScript関数を呼び出すことができると思いますどの改札

私は以下のコードを使用して、アラートでそれを取得していますが、ないにJavaでjavascript関数から値を取得します

target.appendJavascript("s=$('#signature').jSignature('getData')"); 
target.appendJavascript("alert(s)"); 

私は1つのJavaスクリプトファイルをインポートしました。 "jSignature('getData')"は内部に機能しています。

このjSignatureは実際にはユーザーの署名の値を返します。

どのように機能の出力を格納するか?

+0

幅広いウィケットコンテキスト(ソース)なしでは難しい –

答えて

0

target.appendJavaScript()(およびprependJavaScript()も)はeval()で実行されます。その結果を変数に代入しても、evalの名前空間にスコープされます。

結果をDOM内の既存のJSオブジェクトに「割り当てる」こともできます(例: window.myVar = ...

Ajax呼び出しが完了したら、window.myVarを使用できます。 Ajaxの呼び出しは非同期なので、呼び出しが完了したときに通知を受けるには、コールバック(成功、失敗、完了)を使用する必要があります。

+0

私は必要な値(出力)を隠しフィールドの変数の1つに割り当てていますが、ウィッケットでそれを取得する方法は不明です。 –

+0

コメントが分かりません。言い直してください。 –

+0

私のHTMLには私に1つの隠しフィールドとそれに対応するIDがあります。送信ボタンのOnclick私は$( '#signature')。jSignature( 'getData')関数を呼び出し、その出力をその隠しフィールドに代入しています。フォーム(arg1)を使ってこの隠しファイルの私の価値を得る方法はありますか?コードは @Override のようになります。protected void onSubmit(AjaxRequestTarget target、Form arg1){ /// hiddenフィールドの値を取得するコードです。 } –

関連する問題