【问题标题】:Is it a known IE bug? Didn't pass submit parameter to request它是一个已知的 IE 错误吗?没有将提交参数传递给请求
【发布时间】:2011-01-26 09:20:59
【问题描述】:

如果我们有 <form> 至少有两个 <input type="text" ..> 和一个提交按钮 <input type="submit" name="someName" ..> - 那么,当我们在文本字段上按 Enter 时 - IE(我尝试了第 7 版)正确提交表单,通过 submit=someName 与要请求的另一个参数。但是,当只有一个文本字段 <input type="text" ..>(+ 任意数量的下拉菜单或复选框或单选)时 - 按“Enter”提交表单而不传递“submit=someName”来请求。

但是有一些java框架(ATG等),通过提交参数处理表单提交,在表单处理程序中调用相应的方法。因此,如果请求中没有提交按钮参数 - 处理提交失败。

你以前见过这样的行为吗?

【问题讨论】:

    标签: java internet-explorer webforms atg


    【解决方案1】:

    这种行为非常有名。解决方法是,如果表单中只有一个提交按钮,请创建一个具有相同名称和值的隐藏输入,以便它始终存在于请求中。

    【讨论】:

    • 千万不要叫它“提交”,因为我认为你会覆盖.submit()表单方法
    • 其实是我的第一个想法-添加同名隐藏字段,但是它在ATG框架上造成了另一个麻烦......所以我不得不添加。这不是很好,但它工作......
    • @polina-morozova type="hidden"
    • irreputable:我说我已经尝试了隐藏字段 - 输入 type="hidden" name="submit"。它解决了上面写的问题,当然是的,但它会引起一些新的问题(使用 ATG 框架)......所以我不得不使用 style="display:none;"。那就是添加新的文本字段解决了 IE 的问题,这就足够了
    【解决方案2】:
    猜你喜欢
    • 2014-07-30
    • 2019-09-29
    • 2021-08-24
    • 1970-01-01
    • 1970-01-01
    • 2021-10-16
    • 2016-02-06
    • 2016-04-01
    • 2012-01-13
    相关资源
    最近更新 更多