Javascript 为什么我的表单在“后退”按钮上提交?

Javascript 为什么我的表单在“后退”按钮上提交?,javascript,jquery,forms,Javascript,Jquery,Forms,我有一个由7个输入字段组成的表单,分别显示“下一个按钮”以显示下一个输入和隐藏当前,以及“后退按钮”以隐藏当前和显示上一个。问题在于,上次输入时的提交功能在我单击“后退按钮”时运行,它会在数据库中保存未完成的字段。我不知道为什么以及如何预防它。下面是“后退按钮”的示例代码: Template.submitProblem.events{ “click.back1”:函数{ //使用removeClass/addClass显示/隐藏项目 $'submit-why1'.addClass'hidden'

我有一个由7个输入字段组成的表单,分别显示“下一个按钮”以显示下一个输入和隐藏当前,以及“后退按钮”以隐藏当前和显示上一个。问题在于,上次输入时的提交功能在我单击“后退按钮”时运行,它会在数据库中保存未完成的字段。我不知道为什么以及如何预防它。下面是“后退按钮”的示例代码:

Template.submitProblem.events{ “click.back1”:函数{ //使用removeClass/addClass显示/隐藏项目 $'submit-why1'.addClass'hidden'; $'submit-problem'。删除类'hidden'; } }; 以及最后一个输入字段上的提交功能:

Template.submitProblem.events{ “提交表单”:functionevent{ 违约事件; var problem=$event.target.find'[name=problem]'.val; var why1=$event.target.find'[name=why1]'.val; var why2=$event.target.find'[name=why2]'.val; var why3=$event.target.find'[name=why3]'.val; var why4=$event.target.find'[name=why4]'.val; var why5=$event.target.find'[name=why5]'.val; var solution=$event.target.find'[name=solution]'.val; 问题.插入{ 问题:问题,, why1:why1, why2:why2, 为什么3:为什么3, why4:why4, why5:why5, 解决方案:解决方案, 提交日期:新日期 }; 路由器。去'提交'; } };
您应该始终为元素指定type属性,因为不同的浏览器可能会为元素使用不同的默认类型。在您的情况下,您需要更新“后退”按钮,使其具有类型按钮,以便它不会提交

<button type="button" class="btn back1 back-btn"><i class="fa fa-arrow-left fa-3x"></i></button>

我从snippets功能中删除了你的代码,因为没有任何HTML就无法运行。我也不明白你为什么用CSS标记这个问题。请不要在此网站上标记垃圾邮件。谢谢。请出示您的htmlyou use按钮标签作为后退按钮,并: