我有一个包含表单的广告横幅,第三方网站所有者使用此横幅抓取此代码,并在该网站上显示此横幅。
由于某些使用此横幅的网站在整个网站上都有<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>
时,它才会提醒(提交)内部,否则它会提交外部。
为具有表单的网站编写横幅广告的最佳方法是什么?
答案 0 :(得分:9)
拥有&lt; form&gt;在&lt; form&gt;内格式错误的HTML,所有赌注都是关闭任何浏览器/用户代理/ javascript-engine / dom实现将如何处理它。不同访客之间的结果会有很大差异或相同。只是没有&lt; form&gt;在&lt; form&gt;中期间:)
您观察到的行为中最有可能出现的情况:启动&lt; form&gt;表单内的标签可能被“丢弃”为无效,包括任何动作/事件(但可能不是&lt; input&gt; s),第一个&lt; / form&gt;关闭'主'形式。