【问题标题】:Submitting a nested form, weird behavior提交嵌套表单,奇怪的行为
【发布时间】:2010-06-16 21:22:57
【问题描述】:

我有一个带有表单的广告横幅,它由获取此代码并在该网站上放置此横幅的 3rd 方网站所有者使用。

由于一些使用此横幅的网站有一个 <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> 

如您所见,仅当我在内部 &lt;form&gt; 之前添加一个空的 &lt;form&gt; 时,它会提醒(提交)内部,否则它会提交外部。

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

【问题讨论】:

    标签: javascript html forms nested-forms


    【解决方案1】:

    中包含
    是格式错误的 HTML,所有的赌注都取决于任何浏览器/用户代理/javascript-engine/dom 实现将如何处理它。期望不同访问者之间的结果大不相同或相同。只是在
    中没有
    。期间:)

    您观察到的行为中最有可能出现的情况:在表单中启动

    标记可能被“丢弃”为无效,包括任何操作/事件(但可能不是 s),第一个
    关闭“主要”形式。

    【讨论】:

    • (+1) Wrikken 已经死了。只是不要这样做。
    • @Wrikken 谢谢!那么为带有表单的网站编写横幅广告的最佳方法是什么?
    • 不要将表单用于仅作为链接的内容?
    • 我什至不会考虑将来自广告商的纯 HTML 放在我的 HTML 页面上,请考虑安全隐患! (你刚刚打破了我的表格)。广告应该是网站所有者控制下的单个元素(flash 和/或图像/网址对),或者如果需要更多,则将其加载到 iframe 中。事实上,你甚至可以在别人的页面上运行 javascript,甚至更多,这让我感到困惑。
    • @Gareth 我不明白你想说什么,请解释一下。
    猜你喜欢
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 2016-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多