1

javascriptを使用して何かが書かれているかどうかを確認するテキストエリアがあります。

if (!editorInstance.document.getBody().getChild(0).getText()) {
    do some action
}

Firefoxでは問題なく動作しますが、IE9では、nullまたは未定義のオブジェクトであるというこのエラーが表示されます(IEは私の状態をチェックしません)。だから私は試しました:

var hasText = editorInstance.document.getBody().getChild(0).getText();
if (typeof hasText === 'undefined') {
    do some action
}

問題は、 nullまたはundefinedを返すvar hasText = edit...ため、最初の行()で停止することです。editorInstance.document.getBody().getChild(0).getText()

編集

するとeditorInstance.document.getBody().getChild(0).getText()、textareaにすべてのテキストが入力されますが、テキストが入力されていない場合(このフィールドを検証するためにチェックします)、このコードは何も返しません。これが、hasText変数が期待どおりに機能しない理由です。

どうすればそれを解決できるかについてのアイデアはありますか?

4

2 に答える 2

0
 function test() {
    var editor_val1 = CKEDITOR.instances.id1.document.getBody().getChild(0).getText() ;
    var editor_val2 = CKEDITOR.instances.id2.document.getBody().getChild(0).getText() ;
    var editor_val3 = CKEDITOR.instances.id3.document.getBody().getChild(0).getText() ;

    if ((editor_val1 == '') || (editor_val2 == '') || (editor_val3 == '')) {
        alert('Editor value cannot be empty!') ;
        return false ;
    }

    return true ;
}
于 2013-10-11T12:58:15.960 に答える