2011-12-07 4 views
2

私はこれは私がJScriptでStrutsでメソッドを呼び出す方法は?

<img src="image/travel.jpg" alt="test" onclick="javascript:doABC();"/> 

を持っているとJavaScript一部であるコードであるJavaスクリプト からアクションファイル内のメソッドを呼び出すようにしたい:私は呼び出すことができます。このような

<script language="javascript"> 

function doABC(){ 
    var form = document.forms["Welcome"]; 
    form.action = "Welcome.action"; 
    form.submit(); 
} 

</script> 

実行メソッド!しかし、私はそれらを呼び出す方法が異なります。たとえば、実行する代わりにtest()を呼び出すとします。 しかし、私はこれを含める方法を知らない! 私はこのようなボタンを備えた別のメソッドを呼び出すことができヘンデル:

<s:submit method="execute" value="Enter The Site" align="center"/> 
<s:submit method="test" value="Enter The Site" align="center"/> 

私は画像のonclickを通じテストを()呼び出したい場合、私は何をすべきか。

答えて

3

"メソッドを呼び出す"とは何を意味し、その呼び出しの結果をどうしたいかによって異なります。

イメージをリンクとして使用する場合は、"method"属性を適切な方法に設定したアクションマッピングを使用できます。

dynamic method invocationを有効にする場合は、"!test"を使用してURLにメソッド名を追加できます。これは、<s:url>タグによっても"method"属性によって処理されます。

ページを更新したくない場合は、jQueryプラグインやDojoプラグインなどのAjaxプラグインを使用するか、JavaScriptフレームワークを「ネイティブに」使用する必要があります。普通の古いJavaScriptを書く。

+0

いいえ私はstrutsの私のアクションクラスでメソッドを持つ必要があります!私は別の写真を作成し、それらのそれぞれをクリックすることで、異なる動作が起こります!私はURLを使って作業する方法を知っています。私はJavaScriptについて質問しています。 – Khashayar

+0

@KhashayarNapster言われたように、ページを更新したくなければ、Ajaxを使う必要があります。 imgタグの "src"属性を更新しようとしている場合は、アクションURLを使用してイメージを元に戻すことができます。あなたがやろうとしていることはまだ明確ではありません。 –

+0

私は実際にリフレッシュするかどうか気にしません!私は、DBからいくつかのデータを作成し、それを次のページに送るストラット内に1つのexecuteメソッドを持っています。異なるクエリを作成して他のデータを作成するテストメソッドです。私はストラットの中で別のメソッドを呼びたいと思っています!それは可能ですか? – Khashayar

関連する問題