我在Boostrap模式弹出窗口中有一个简单的表单。表单工作正常,直到我需要添加一个按钮,根据输入到表单中的某些值执行简单的计算。
该按钮只有一个jQuery单击事件,它从表单元素中获取值,计算将值写入文本框的值。当表单不在模态中时,它可以正常工作。零错误。当表单处于模态时单击按钮关闭模态,我看不出原因。
我已经将按钮剥离为裸骨,甚至删除了click事件处理程序中的jquery代码..它仍然关闭了模态。我已经删除了表单操作事件(指向.php脚本),但模式仍然关闭。
当它关闭时,我看到浏览器地址栏中填充了页面的URL,其中所有表单值都为params,因为当我单击按钮时填充了字段。
任何人都可以告诉我如何让这个按钮只是一个简单的按钮我可以用于此目的而不是关闭模态?
非常感谢任何想法,因为我真的很绝望!
感谢。
答案 0 :(得分:1)
我删除了表单操作事件(指向.php脚本),但模式仍然关闭。
删除action
属性只会将操作设置为当前页面的URL。它不会阻止提交表单。
任何人都可以告诉我如何才能让这个按钮成为我可以用于此目的的一个微不足道的按钮,而不是关闭模态?
<button type="button">
会使按钮成为仅限JavaScript按钮而不是提交按钮
在事件处理函数中,捕获事件对象并调用其preventDefault()
方法。
确保在when the JS fails的情况下,服务器做正确的事情,并为表单提交提供合理的回复。
答案 1 :(得分:1)
问题很可能是按钮提交表单。尝试指定<button type="button">
或在点击处理程序中添加evt.preventDefault()
。