40

id4次のコードで設定しようとしています:

<div id="id1">
    <div id="id2">
        <div id="id3">
            <textarea id="id4"></textarea>
        </div>
    </div>
</div>

このコードを使用して:

document.getElementById('id4').value = "...";

この:

document.getElementById('id3').getElementsByTagName('textarea')[0].value = "...";

しかし、何も機能しません。

更新しました:

これtextareaは CodeMirror エディターに置き換えられました。それに値を設定するにはどうすればよいですか?

助けてくれてありがとう!

4

6 に答える 6

71

これを行う方法は、3.0 のリリース以降、わずかに変更されました。これは次のようになりました。

var textArea = document.getElementById('myScript');
var editor = CodeMirror.fromTextArea(textArea);
editor.getDoc().setValue('var msg = "Hi";');
于 2014-01-10T22:05:14.617 に答える
13

私は例が好きです。これを試して:

CodeMirror.fromTextArea(document.getElementById(id), {
        lineNumbers: true
    }).setValue("your code here");
于 2012-05-23T08:10:31.910 に答える
2

CodeMirror ~4.6.0 codemirror オブジェクトがあると仮定すると、これを実行できます。

var currentValue = myCodeMirrorObject.cm.getValue();
var str = 'some new value';
myCodeMirrorObject.cm.setValue(str);
于 2015-04-04T23:09:19.250 に答える
1

あなたが持っているコードはうまくいくはずです。失敗の最も可能性の高い説明は、実行時に要素が存在しないことです。その場合、解決策は次のいずれかです。

  • 要素が作成された後に表示されるように JS を移動します (たとえば、直前に</body>) 。
  • 要素が作成されるまで JS の実行を遅らせます (たとえば、onloadイベント ハンドラーとして割り当てた関数に要素を移動します) 。
于 2011-12-04T21:22:47.887 に答える