0

所以我在发送动态生成的文本区域的值时遇到了麻烦,并且将summernote应用于它们。

这是一个可以重现问题的链接:http: //jsfiddle.net/jk6pjnt7/1/

所以基本上,当我单击“添加 Step-textarea”时,我试图动态添加一个新的 textarea,因为我不知道用户需要多少“step”。问题是当我提交表单时,我不会得到新文本区域的值。他们将有一个空白值。

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

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

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

 });
4

1 回答 1

1

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

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

于 2015-01-07T20:34:31.147 回答