網上找到的答案:js報錯Cannot read property 'length' of undefined時一般是傳入的參數是undefined
我原來的代碼是
objTmp = document.getElementById("cke_txtKldgAnswer"); if (objTmp.value.length == 0) { inputChkFail('<br><span class="f14 clLRed">提示:請填寫標題!</span>'); return false; } else { objTmp.value = TrmEgMark(objTmp.value.Trim()); }
由於txtKldgAnswer被替換成CKEDITOR.replace('txtKldgAnswer', { height: '500px', width: '99%' });
cke_txtKldgAnswer是CKEDITOR運行后生成div的id,在運行之前是沒有的,
document.getElementById("cke_txtKldgAnswer")應該是檢測不到元素,於是報錯。
解決辦法:
if (CKEDITOR.instances.txtKldgAnswer.getData() == "") { inputChkFail('<br><span class="f14 clLRed">提示:請填寫答案!</span>'); return false; } else { objTmp.value = TrmEgMark(objTmp.value.Trim()); }
