动态注入时保存文本区域值的夏季注释问题

Issue with summernote saving the textarea value when dynamically injected

本文关键字:夏季 注释 问题 区域 注入 保存 文本 动态      更新时间:2023-09-26

所以我在发送动态生成并应用了 summernote 的文本区域的值时遇到了问题。

这是一个链接,将重现该问题:http://jsfiddle.net/jk6pjnt7/1/

所以基本上,当我单击"添加步骤文本区域"时,我正在尝试动态添加新的文本区域,因为我不知道用户需要多少"步骤"。 问题是当我提交表单时,我不会获得新文本区域的值。 它们将具有空白值。

如果我做同样的事情并从过程中删除 summernote 插件,一切正常。

我有一小块男女同校,它可以阻止表单提交,并将显示将在控制台中提交的内容,因此您可能需要打开devtools以查看调试信息。

 $('form').submit(function () {
    //console.log($(this));
    console.info($('form').serializeArray())
    return false;
 });

由于 DOM 是动态更改的,我们不能以典型的方式"观察"这些新元素。在jquery中,我们使用的称为委托,特别是jQuery.fn.on。我们从动态改变的容器(在本例中,被<form>)冒泡到一个将存在并保证不会改变的元素。特别是在这种特定情况下,您的行$(next_input).val('');我更改为$(next_input).html('');,因为我们正在处理委托textarea,它们的工作方式与输入框在获取数据的方式上略有不同。

这是固定代码:http://jsfiddle.net/jk6pjnt7/3/