Summernote模式按钮导致表单被提交
问题描述:
在一个web2py应用程序中,我有一个作为组件加载的表单,并且有一个textarea,Summernote编辑器应用到该表单。Summernote模式按钮导致表单被提交
{{=LOAD('editor', 'load_summernote.load', vars = {...}, ajax = True)}}
Summernote的“.note-insert”按钮组(链接,图片,视频)打开了一个模式。点击该模式的“插入*”按钮时,会导致表单被提交。对我而言,这似乎是一种非常不受欢迎的行为。我试图建立在几个hackish解决方案上以防止表单被提交:
$(document).on('submit', 'form', function(e){
e.preventDefault();
return false;
});
上述代码并不妨碍表单被提交。
第一个问题:Summernote的“插入”按钮的表单提交行为是否符合预期的行为,或者是否有可能导致表单提交的网站特定于我的网站? (对于后面的问题,似乎没有任何立即建议的肯定回答。)
第二个问题:是否有一种防止这些“插入”按钮导致表单被提交的首选方法,而不会影响其功能?
答
可能是因为您用于按钮的HTML不正确。我假设您正在使用“插入”按钮的按钮标记。需要注意的是,按钮标签的默认行为是type = submit(隐含地)。您应该添加type =按钮属性到按钮标记,以防止点击时提交。例如:
<button>Insert</button> <!--WILL cause a submit (implicitly type=submit)-->
<button type=button>Insert</button> <!--Will NOT cause a submit-->
请参阅this answer了解更多详情。