如果使用.remove(),表单将不会提交?

Dav*_*ock 7 forms firefox jquery submit

我有点担心Firefox,jQuery或两者兼而有之.操作系统是Windows 7,Firefox是4.0.1版,jQuery介于1.5 - 1.6之间.

基本上我有一个带有button元素的表单,通过jQuery附加了一个click事件,它删除了按钮最接近的父元素div.这一切都很有效.

现在,当您在执行上述操作后尝试提交表单时,问题就出现了.Chrome,IE,Opera和Safari提交表单.另一方面,Firefox拒绝提交表单.

我甚$("form").submit();至在Firebug中尝试过无济于事.

这是对jsFiddle的测试,只需单击-按钮然后submit在Firefox中查看我的意思.

任何有关此事的帮助都非常感谢!

编辑:我需要能够通过连接到一个按钮一个Javascript/jQuery的事件提交表单以外的的form元素.

小智 8

我想我已经找到了这个问题的最终解决方案.我花了最近几天在这个奇怪的行为中挣扎,终于来到这个线程,这个帮助了我很多.. =))

button元素具有'type'属性,在几乎所有浏览器(IE除外)中默认设置为'submit'.

这个问题似乎与我们在处理提交事件时删除节点并因此破坏表单的提交事件有关...

因此,将button ="button"添加到按钮元素实际上将解决此问题.

这是一个workign jsFiddle示例.

  • 我确认它有效.我有完全相同的问题,我正在撕扯我的头发.谢谢 ! (2认同)
  • 我只想注意,2年后,Firefox 24.0,问题仍然存在.这个bug还是什么? (2认同)

Jam*_*ice 5

我不知道为什么会这样,但如果你更换:

<button name="test">-</button>

有:

<input type="button" value="-" name="test" />

而使用$("input[name=test]")而不是$("button[name=test]")它似乎工作.

你可以看到这个工作在这个小提琴.