- 主题:chrome的form不能提交两次?
test.html
<form method='GET' name='form2'>
<input type='text'><br>
<input type='submit' onClick='return run_check()' value='Run'>
</form>
<script type='text/javascript'>
function run_check()
{
document.getElementsByName('form2')[0].action='login.php';
document.getElementsByName('form2')[0].method='GET';
document.getElementsByName('form2')[0].target='_blank';
return true;
}
</script>
用的是最新稳定版,在点击一次run之后在新页面打开login.php,当再次点击run则无效,不会继续打开又一个login.php
用的是3.0.195.21, 当换用2.0.172.33之后一切正常,点几次run就出来几个login.php, 但是我总不能告诉用户去换个老版本chrome吧,在最新的chrome中有没有可能通过编程来解决这个问题啊?有人遇到过这个问题吗?谢谢~
--
修改:ciper FROM 202.106.94.*
FROM 202.106.94.*
为啥?应该怎么写?IE和Firefox都工作正常
【 在 sayinger (言者) 的大作中提到: 】
: 你这个写法一次都不提交才对
--
FROM 202.106.94.*
哦,刚才写错了,你们就当是submit吧,我测过很多次,把submit改成button然后run_check里面明写让form提交也不行
chrome绝对是个垃圾,2.0.172.33好好的,3.0就不行了,刚才试了4.0的测试版也不行
【 在 shaolin (叶孤城|漫漫当爹路) 的大作中提到: 】
你抄错了。
type=button改成submit
【 在 ciper (ciper) 的大作中提到: 】
: 为啥?应该怎么写?IE和Firefox都工作正常
--
修改:ciper FROM 202.106.94.*
FROM 202.106.94.*
这不是智能,这是傻冒,我有一个查询表单,有各种field,比如product,user等等,用户可以从一组他事先定义好的查询条件里选择,比如query1,然后通过ajax,把所有的值更新到所有field, product,user等等,点击Run就可以查询了,结果在一个新窗口显示。现在做不到了,查询一次之后,用户从下拉框里选择了另一条查询,所有的值都被更新了,这时候点击Run,form却不提交了。Chrome根本不判断表单内容有没有更新!它就是不第二次提交表单。Chrome有一个著名的bug就是表单会被提交两次,现在我“欣喜”的看到它“修复”了这个bug,又加入另外一个让人恶心的bug
【 在 sayinger (言者) 的大作中提到: 】
: chrome的策略是,如果你的表单内容没有变化,就认为是用户误操作,点了多次。
: 怎么说呢,太智能了也会挨骂...
--
修改:ciper FROM 202.106.94.*
FROM 202.106.94.*
chrome resubmission
【 在 sayinger (言者) 的大作中提到: 】
: 至少在你这个例子里,改变input的值就可以提交,说明chrome确实检查了表单内容是否有变化...
: 另外,那个所谓“著名的bug”是啥,贴出来看看?
--
修改:ciper FROM 202.106.94.*
FROM 202.106.94.*
就已我那个查询的例子来说吧,如果那个text field里面是个人名,我点击Run之后出来search.php?user=test, 然后我把这个窗口关掉了,再在原来的页面点击Run之后就不给我结果了?这不是智能。。。从我的观点来看,chrome就是为了修复那个重复提交的问题结果引入了另一个问题吧....
【 在 shaolin (叶孤城|漫漫当爹路) 的大作中提到: 】
: 别这么随便给chrome加这些头衔。
: chrome用的是webkit核心,webkit也就这么处理的。
: 等我翻翻文档看看。。
: ...................
--
FROM 202.106.94.*
应该不是同一个问题,就是chrome或者说webkit对于“重复”form的提交,我刚才又试了一下我那个查询的例子,当改变查询,即用ajax把页面上几乎所有field,包括文本框,下拉框,复选框之类甚至包括几个hidden元素都更新之后再点击Run,form不会提交,但是如果我在其中一个文本框加个空格就能提交了,也就是说chrome并不是监控“内容”的改变,而很可能是用户的动作我猜,对ajax更新的field视而不见,我不觉得这是智能。。。
【 在 shaolin (叶孤城|漫漫当爹路) 的大作中提到: 】
: 您还不明白,chrome 用的是webkit 内核,
: 也就是说,safari等也是如此。
: 我的意思是,别吧根源加到chrome身上,跟他关系不大。
: ...................
--
FROM 202.106.94.*
继续测了一下,改变下拉框或复选框的值都没用,改变文本框或textarea的值有用,真ft
【 在 ciper (ciper) 的大作中提到: 】
: 应该不是同一个问题,就是chrome或者说webkit对于“重复”form的提交,我刚才又试了一下我那个查询的例子,当改变查询,即用ajax把页面上几乎所有field,包括文本框,下拉框,复选框之类甚至包括几个hidden元素都更新之后再点击Run,form不会提交,但是如果我在其中一个
--
FROM 202.106.94.*