为什么nicEdit所见即所得编辑器有时会阻止精确发送值?
作者:互联网
我在项目的管理控制面板上使用了nicEditor.但是有些奇怪.
当我想发送一个值插入数据库时,它很好用.但是在编辑页面中,当我要处理从textarea发送的值时,将仅发送在textarea中插入的第一个值,如果要更改此值,则在下一页中将再次拥有第一个值.
这是我用来将所有textareas转换为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()
>仅对于要替换此方法的nicInstance,它会将编辑器的内容与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>
标签:send,return-value,load,nicedit,php 来源: https://codeday.me/bug/20191030/1965524.html