gpt4 book ai didi

php - 为什么 nicEdit 所见即所得编辑器有时会阻止准确发送值?

转载 作者:可可西里 更新时间:2023-11-01 01:02:26 25 4
gpt4 key购买 nike

我在项目的管理控制面板上使用了 nicEditor。但是有一点奇怪。
当我想发送一个值以插入数据库时​​,它运行良好。但是在编辑页面中,当我想处理从 textarea 发送的值时,只会发送插入 textarea 中的第一个值,如果我想更改这个值,在下一页我又会得到第一个值。
这是我用来将所有文本区域转换为 nicEditor 的代码。

bkLib.onDomLoaded(function() { nicEditors.allTextAreas() });

现在假设我有一个表单,其中包含存储在数据库中的值,如下所示:

<textarea name="description"><?php echo $description; ?></textarea>

如果 $description 值为 123,我将其更改为 1234 然后提交表单,给定从 发送的值$_POST['description']123,这是不正确的。但是当我删除加载 nicEditor 的第一行时,发送的值更改为正确的 1234

有什么问题?

编辑:
这是我在第一页中的内容:

<?php
$id = $_GET['id'];
$sql = "SELECT * FROM tbl_hotels WHERE id = ?";
$q = $db->prepare($sql);
$q->execute(array($id));
$result = $q->fetch();
$des = $r['des'];
?>

<form action="process.php" method="post">
<textarea name="des" class="large-input"><?php echo $des; ?></textarea>
<input type="submit" value="send">
</form>

这就是我在下一页所做的:

<?php
$des = $_POST['des'];
echo $des;
?>

最佳答案

直接取自他们的网站 http://nicedit.com/docs.php

Nicedit is no longer under active development, you might want to try CKEditor or TinyMCE instead.

也就是说,您最有可能以其他方式提交您的表单,然后是正常提交​​,因此编辑器不会与您的 <textarea> 同步您可以尝试在提交前触发以下代码进行同步。

[nicInstance].saveContent()

  • 仅适用于正在替换此方法的 nicInstances 将编辑器的内容与 textarea 值同步。如果提交了带有原件的表格,这将自动完成。但是,您可能想要明确地自己进行同步。

编辑:

JS

var myform = document.getElementById('myForm');
myform.addEventListener('submit', function() {
var myEditor = nicEditors.findEditor('myEditor');
myEditor.saveContent();
return true;
});

PHP

<form action="process.php" method="post" id="myForm">
<textarea name="des" class="large-input" id="myEditor"><?php echo $des; ?></textarea>
<input type="submit" value="send">
</form>

关于php - 为什么 nicEdit 所见即所得编辑器有时会阻止准确发送值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20329991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com