0

ここに問題があります:

マイページに一連のアイテムが表示されます。各アイテムには、(フォームの一部である)チェックボックスが関連付けられています。ユーザーはこれらのチェックボックスのいずれかをチェックして、「削除」ボタンを押すことができます。同じページには、Excelシートのアイテムをアップロードする[アップロード]ボタンもあります。現時点では、フォームアクションは「xyzAction」と要約されており、2つの異なるハンドラー(Struts Actionに類似)があります。1つはストアの削除用で、もう1つはストアのアップロード用です。

これを行うための最良の方法は、次のいずれかを実行してJavaScriptに依存することであると言われています。1))アップロードボタンと削除ボタンを押してフォームアクションを切り替える-そこでさまざまなアクションを呼び出します。2)非表示の変数「act」を使用して、単一のフォームを削除/アップロードして送信するように設定します。サーバー側のアクションは、アクトを識別し、対応するアクションに転送します。

アプローチ(1)-私には非常にエレガントではないようです。フォームアクションで遊ぶ必要はないようです。アプローチ(2)-JavaScriptがオフになっていて、あまりエレガントでもない場合は、明らかに機能しません。

これを行うための3番目の方法があるに違いありませんか?それは私を幸せにしますか?

4

2 に答える 2

3

2つの異なるアクションに対して、2つの異なるフォームが必要になる場合があるようです。

于 2009-05-26T16:00:26.353 に答える
1

最初にHTMLを正しく取得する必要があります。

2つの異なるアクションがあるため、2つのフォームが必要です。経験則として、各フォームには1つの送信ボタンのみが必要です。これはHTMLのベストプラクティスであり、JSやその他のトリックなしでページが機能することを保証します。

ページがこのように機能するようになったら、JSを使用してDOMを操作し、必要なUIを作成します。これは、JSを使用してUIに動作を追加することであり、控えめなJSのベストプラクティスです。

(アクションを1つのフォームにまとめたい場合は、フォームのアクションをJSで変更するのが最善の方法です。ただし、ユーザーがチェックボックスをオンにしてから気が変わってファイルをアップロードするとどうなるかを検討してください。チェックボックスをオンのままにします。これにより何も削除されないように注意する必要があります。)

于 2009-05-26T21:51:28.017 に答える