代码之家  ›  专栏  ›  技术社区  ›  adardesign

提交嵌套表单,奇怪的行为

  •  1
  • adardesign  · 技术社区  · 14 年前

    我有一个广告横幅,它有一个表单,第三方网站所有者使用它来获取此代码,并在该网站上显示此横幅。

    因为有些使用此横幅的网站 <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> 
    

    正如你所看到的,只有我加了一个空的 <形式& gt; 在内部之前 <形式& gt; 它警告(提交)内部,否则它提交外部。

    为带有表单的站点编写横幅广告的最佳方法是什么?

    1 回复  |  直到 11 年前
        1
  •  9
  •   Wrikken    14 年前

    在表单中使用表单是格式错误的HTML,所有赌注都取决于浏览器/用户代理/javascript引擎/dom实现将如何处理它。期望不同访客之间产生完全不同或相同的结果。只是在<表单中没有<表单>。时期:)

    您观察到的行为中最有可能出现的情况是:在表单内启动<form>标记可能被“丢弃”为无效,包括任何操作/事件(但可能不是<input>s),第一个</form>关闭“主”表单。