Javascript IE6不提交表单的最奇怪问题
我需要专家的建议 我遇到了我职业生涯中最奇怪的问题 我有一个有很多“选择”标签的表格。每个标签都包含大量的“选项”标签 表单根本不会提交,但当我删除部分表单内容(例如,一些SELECT标签)时,表单将正确提交 然而,没有任何一致性,我的意思是,移除标签可能是随机的。 我已经试过查看表单中“已删除”部分的哪一部分可能导致表单无法提交,但我无法理解 通过向您展示一个示例可以更容易地解释。。。 我将跳过表单标签和js函数,因为我确信在几个小时的头痛之后,它们现在不是问题 下面是一个选择标记:Javascript IE6不提交表单的最奇怪问题,javascript,html,css,browser,internet-explorer-6,Javascript,Html,Css,Browser,Internet Explorer 6,我需要专家的建议 我遇到了我职业生涯中最奇怪的问题 我有一个有很多“选择”标签的表格。每个标签都包含大量的“选项”标签 表单根本不会提交,但当我删除部分表单内容(例如,一些SELECT标签)时,表单将正确提交 然而,没有任何一致性,我的意思是,移除标签可能是随机的。 我已经试过查看表单中“已删除”部分的哪一部分可能导致表单无法提交,但我无法理解 通过向您展示一个示例可以更容易地解释。。。 我将跳过表单标签和js函数,因为我确信在几个小时的头痛之后,它们现在不是问题 下面是一个选择标记: <
<div class="nav_sub_juveler" id="nav_sub_juveler">
<select name="smycken_type" id="smycken_type" style="width: 130px; margin-bottom: 5px;">
<option value="Alla Typer" class="nav_option_main" selected>-- Alla Typer --</option>
<option value="Klockor & Ur" title="Klockor, Ur">Klockor & Ur</option>
<option value="Juveler" title="Smycken, Pärlor, Guld, Silver, Diamanter mm">Juveler</option>
<option value="Övrigt" title="Övrigt">Övrigt</option>
</select>
<br />
<input type="radio" name="smycken_action" id="smycken_säljes" value="Säljes" checked onClick="disable_actions('nav_sub_juveler', false);">
<font face="Arial, Helvetica, sans-serif" style="font-size:14px; font-weight:bold;">Säljes</font>
<input type="radio" name="smycken_action" id="smycken_köpes" value="Köpes" onClick="disable_actions('nav_sub_juveler', true);">
<font face="Arial, Helvetica, sans-serif" style="font-size:14px; font-weight:bold;">Köpes</font>
</div>
--阿拉打字机--
克洛克与乌尔
尤文勒
Övrigt
萨尔耶斯
科佩斯
现在,在表单的这一部分中,我有一个包含一些选项的division容器(就像表单的其余部分一样)。
如果我选择删除此处的单选按钮,则表单将提交。
因此,您马上就会想“好吧,单选按钮一定是有什么原因导致表单无法提交!”。
但是没有!
如果我取而代之的是删除select标签中的“选项”(或者一起删除select标签),但保留收音机,那么表单将再次提交。
但离开两者都不会提交表格
奇怪的是,表单的其余部分的制作方式与此完全相同,它将与收音机和选择一起提交
我想不出来
您在这里看到的任何东西都可能导致问题吗
附:css也没有问题,问题在别处。。。
PS2:我尝试过重写和重新排列文本,但没有运气如果
正在使用GET
,尝试将其更改为POST
,看看这是否有区别
正如@spbfox所说,URL的长度是有限制的
编辑
不仅仅是IE6,长度超过~2k的URL会导致各种破坏
我有一个传统的应用程序,它在一个巨大的页面(100多个字段)上使用GET,多年来一直工作正常……去年冬天,用户安装了一个通用工具栏(谷歌、雅虎或必应,不记得是哪个),它会默默地截断数据。将页面更改为POST修复了它
当然,如果您的操作页面使用Request.QueryString(),则必须将其更改为Request.Form()。我想查看表单标记。如果您使用“GET”表单,您可能会遇到查询字符串太长的问题。实际上你是通过JavaScript提交表单的吗?如果是这样的话,我会在它的代码中寻找问题。这个限制只存在于IE6中吗?请告诉我更多,因为这可能是问题所在。页面重新加载,但由于更改为“POST”,出现了多个错误。我在前面看到了这一点,希望回来查看解决方案。有趣的是,像大多数事情一样,海报上说的项目绝对不是问题……结果是问题(表单标签)。海报没有错,只是说奇怪的是,我们确定不是问题的东西通常是:)这是IE6的限制吗?请告诉我更多,因为这可能是问题所在。页面重新加载,但由于更改为“POST”而出现多个错误。。。