我遇到了问题:
我的页面上有一个textarea,如下所示:
<textarea id='redactor_content' name='redactor_content' style='width: 720px; height: 320px;'>$news[3]</textarea>
其中$news[3]
是我从MySQL获得的php变量。 redactor_content
是WYSIWYG编辑器,我在其中编辑$news[3]
的内容。编辑内容后,我想将其传递给mysql,使用以下JavaScript更新表:
function update_news(n_id) {
var title = $('#title').val();
var news_body = $('#redactor_content').val();
alert(news_body);
$.post(
"update.php",
{n_id: n_id, title: title, body: news_body},
"html"
)};
JS中还有另外两个变量n_id
和title
。两者都工作正常。但是当使用news_body变量弹出警报时,我会看到旧版本的textarea(最初位于$ news [3]变量中),而不是新版本的更新版本。
我被困了。任何帮助表示赞赏!
答案 0 :(得分:2)
大多数wysiwyg编辑器在页面上创建一个新的单独部分(通常是iframe),它覆盖了他们正在替换的textarea。您需要告诉编辑器将“花哨”图形版本中的数据复制回原始表单字段,以便您的JS可以获得更新版本。或者弄清楚编辑器如何/在哪里存储叠加版本,以便你可以从那里抓取它。
答案 1 :(得分:0)
redactor_content
可能存在一些客户端功能,允许您正确检索值。像$('#redactor_content')[0].getTextValue()
或其他东西。
这不是真正的代码,只关注它是如何工作的一个例子。
答案 2 :(得分:0)
感谢帮助人员,我的问题的答案是:
需要替换此行:
var news_body = $('#redactor_content').val();
这一行:
var news_body = $('#redactor_content').elrte('val');