当我将标签传递给xml解析器并且没有正确的标签引发异常时,我不得不用<br> <br/>
替换标签。
我在提交之前尝试过这个:
$('form#mail').submit(function(e){
e.preventDefault();
$(".note-editable br").replaceWith('<br/>');
$(this).submit();
});
但会导致错误并且不会触发提交:
Uncaught RangeError: Maximum call stack size exceeded
我在哪里做错了?
答案 0 :(得分:1)
这里有一个无限循环:
$(this).submit();
将脚本指向:
$('form#mail').submit(function(e){ ...
<强>解决方案:强>
$('form#mail').submit(function(e){
//e.preventDefault(); - don't do this
$(".note-editable br").replaceWith('<br/>');
//$(this).submit(); - or this
});
如果您要提交表单,并将浏览器发送到另一个页面,为什么还需要在当前页面上进行DOM更改?
答案 1 :(得分:0)
您正在循环使用该功能。您可以阻止默认提交发生,然后再次提交表单,这又会被阻止。
你可以这样做:
$('input[type="submit"]').on('click', function(e){
e.preventDefault();
$(".note-editable br").replaceWith('<br/>');
$('form#mail').submit();
});