1

フォームのある広告バナーがあります。これは、このコードを取得してサイトにこのバナーを配置するサードパーティのサイト所有者によって使用されます。

このバナーを使用する一部のサイトでは、<form>サイト全体がラッピングされているため、バナー フォームはそれを送信せず、外側のフォームを送信することがわかりました。

コードは次のとおりです。

  <form onSubmit="return alert('outer form submitted')">

    <!-- only if i add this empty form it submits the inner -->
         <form></form>
    <!-- End Empty form -->

    <!-- inner form -->
      <form onSubmit="return alert('inner form submitted')" > 
           <input type="submit" /> 
      </form> 
    <!--end  inner form -->

 </form> 

ご覧のとおり<form> 、インナーの前に空を追加した場合にのみ、インナー<form>がアラート (送信) され、それ以外の場合はアウターが送信されます。

フォームのあるサイトのバナー広告をコーディングする最良の方法は何ですか?

4

1 に答える 1

9

<form> 内に <form> を持つことは不正な HTML であり、すべての賭けは、ブラウザー/ユーザーエージェント/javascript-engine/dom 実装がそれを処理する方法から外れています。異なる訪問者の間で、非常に異なる、または同等の結果が予想されます。<form> に <form> を含めないでください。限目 :)

観察された動作で最も可能性の高いシナリオ: フォーム内で <form> タグを開始すると、アクション/イベント (おそらく <input> ではない) を含め、おそらく無効として「破棄」され、最初の </form> は「メイン」を閉じます' 形。

于 2010-06-16T21:27:08.287 に答える