0

ボタンのクリックでポップアップを表示したい。ポップアップには、ファイル アップロード コントロールが必要です。アップロード機能を実装する必要があります。

ベース ページにはネストされたフォームがあります。内部にネストされた合計 3 つのフォーム。2 つのフォームにコメントすると、投稿されたファイルを Request オブジェクトから取得できます。しかし、他の 2 つの形式についてコメントするつもりはありませんでした。ネストされたフォームでは、投稿されたファイルを Request オブジェクトから取得できません。

これを実装するには、いくつかのプロトコルが必要です。

私はC#を使用しています。ポップアップは jQuery を使用して設計されました。

提案どおり、サンプルコードをここに投稿します。

<form id="frmMaster" name="frmMaster" method="post" action="Main.aspx" Runat="server" enctype="multipart/form-data">

<form method='Post' name='frmSub'>                      
<input type="hidden" name='hdnData' value=''>                   
</form> // This form is driven dynamically from XSL


<form method='Post' name='frmMainSub'>                      
<input type="hidden" name='hdnSet' value=''>                    
</form>


</form>

ノート:

内部フォームにコメントを付けるとうまくいきます。ただし、他の機能に必要なため、これらのフォームに触れることは想定されていません。

サンプル目的でこのコードを提供しました。このページの実際の LOC は 1200 です。2 番目のフォームには、多数のコントロールが動的にロードされます。既存のフォームに触れないように求められています。ネストされたフォームでこの機能を実行することは可能ですか?

4

3 に答える 3

5

1 つのページに複数の HTML フォーム タグを含めることができますが、相互にネストすることはできません。これを機能させるには、ネスティングを削除する必要があります。コードの一部を投稿すると、これに対処するための特定の推奨事項について、より多くの支援が得られる可能性があります。

投稿されたコードから、複数のフォームを使用したくなる理由も不明です。ここで複数のフォームが必要だと思う理由を詳しく説明していただけますか? サブフォームに明示的なアクションがないため、どこに投稿するのかわかりにくいですが、すべて同じページに投稿していると思います。では、なぜ複数のフォームが存在するのでしょうか?

于 2009-06-19T17:02:28.040 に答える
2

内部フォームの 1 つを別のページに配置して、iframe で提供することはいつでもできます。そうすれば、内側のフォームは厳密には外側のフォームの内側にはありません。これには html の一部を変更する必要がありますが、実際にはそれを回避する方法はありません。

于 2009-06-19T17:47:02.680 に答える
0

あなたの状況では、どのように言ってもハックを見ています。ネストされたフォームを持つことは想定されていません。

これを行うために Javascript を使用しているため、ポストバックしているフォーム要素を親フォームから移動し、移動後に .submit() アクションを実行しててください

それは醜いハックです-しかし、私はHTMLもそうです-:)(私は子供です、私は子供です!)

于 2009-06-19T17:37:56.217 に答える