Webページを開発していますが、JavaScriptコードで問題が発生しました。
NiceditをtextareasのWYSIWYGとして使用しています。これは、メインページに記載されているように、この2行をWebページの任意の場所にコピーして貼り付けるのと同じくらい簡単です。
<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script>
これは、ページのデフォルトのテキスト領域でうまく機能しています。問題は、テキストエリアを追加するためのこのJavaScriptもあることです。
function addchapter()
{
if (num_chapter < 10)
{
var num=num_chapter+1;
document.getElementById('chapters').innerHTML += "<h3>Chapter " + num + "</h3> Title: <input type='text' name='titlechapter_" + num + "'><br>Content:<textarea name='chapter_" + num + "'></textarea>";
}
else if (num_chapter == 10)
{
document.getElementById('chapters').innerHTML += "<br />Maximum is 10 chapters.";
}
num_chapter += 1;
}
したがって、javascriptを使用してテキストエリアを追加すると、適切なスタイルがありません。Niceditを実装していません。重要なのは、textareasはすべて標準であるため、どちらの場合もコードに違いはありません。javascriptについてはあまりよくわかりませんが、問題は、ページの読み込み時にNiceditコードが1回実行されることである可能性があると思います。それだけです。ページが読み込まれたとき(<=すでに完了)およびaddchapter
関数が実行されたときにそれを実行する方法について何か考えはありますか?
関連するHTMLビットは次のとおりです。
<div id="chapters">
</div>
<button type="button" onclick="addchapter()"> Add chapter </button>
奇妙な振る舞いを見ることができる私のページはこれ(壊れたリンク)です。第1章の下に[章を追加]ボタンが表示されます。
どうもありがとうございました。
編集1、エラーコンソール出力:ページが読み込まれると、次のようにスローされます。
"GET http://js.nicedit.com/nicEditIcons-latest.gif
bkClass.extend.getStylenicEdit-latest.js:8
bkClass.extend.constructnicEdit-latest.js:38
AnicEdit-latest.js:8
bkClass.extend.addInstancenicEdit-latest.js:37
bkClass.extend.panelInstancenicEdit-latest.js:37
nicEditors.allTextAreasnicEdit-latest.js:37
bkLib.domLoaded"
新しい章を追加するとき:
"Uncaught TypeError: Object #<bkClass> has no method 'removeInstance'
bkClass.extend.checkReplacenicEdit-latest.js:37
bkClass.extend.panelInstancenicEdit-latest.js:37
nicEditors.allTextAreasnicEdit-latest.js:37
(anonymous function)/file/new/:112
onclick"