javascript と ckeditor で問題が発生しました。
テキストエリア内のすべての略語を表現に置き換える機能を実行しました。たとえば、tel -> telephone などです。
問題は ckeditor にあります。通常のテキストエリアでは、この関数は次のように正常に機能します。
var abbreviations = {
<?php $rqt="SELECT * FROM `glossaire` WHERE `id_company` ='".$societe['id']."'";
$result=mysql_query($rqt);
while($data=mysql_fetch_assoc($result))
{?>
"<?php echo ($data['libelle']) ; ?>": "<?php echo ($data['texte']) ; ?>",
<?php } ?>
};
function abbrReplace(el, abbrs) {
if (!el || !abbrs) {
return false;
}
else {
var val = el.value,
words = val.split(/\s/);
for (var i = 0, len = words.length; i<len; i++) {
if (abbrs[words[i]]) {
words[i] = abbrs[words[i]];
}
}
return words.join(' ');
}
}
document.getElementById("suivi").onkeyup = function(){
this.value = abbrReplace(this, abbreviations);
};
だからckeditorで、私はこれを試しました:CKEDITOR.instances.commentaire.insertText('abbreviations');
そのように:
var abbreviations = {
<?php $rqt="SELECT * FROM `glossaire` WHERE `id_company` ='".$societe['id']."'";
$result=mysql_query($rqt);
while($data=mysql_fetch_assoc($result))
{?>
"<?php echo ($data['libelle']) ; ?>": "<?php echo ($data['texte']) ; ?>",
<?php } ?>
};
function abbrReplace(el, abbrs) {
if (!el || !abbrs) {
return false;
}
else {
var val = el.value,
words = val.split(/\s/);
for (var i = 0, len = words.length; i<len; i++) {
if (abbrs[words[i]]) {
words[i] = abbrs[words[i]];
}
}
return words.join(' ');
}
}
document.getElementById("suivi").onkeyup = function(){
this.value = CKEDITOR.instances.commentaire.insertText('abbreviations');
};
私は本当に迷っています。ckeditorでは機能しません。
私は何か間違っていると思いますが、それを修正する方法がわかりません。
どんな種類の助けも大歓迎です。
敬具。
SP。