2016-02-27 47 views
-1

我有一個問題,因爲我得到了一個錯誤:jQuery的實時預覽

Uncaught TypeError: Cannot read property 'text' of null

這是關於一個實時預覽的即時更新,就像在堆棧溢出寫東西。

function showPreview() { 
 
    var myStickieText = $("#txtarea").text(); 
 

 
    myStickieText = myStickieText.replace(/\n/g, '<br />'); 
 
    myStickieText = myStickieText.replace(/\[b\]/g, '<b>').replace(/\[\/b\]/g, '</b>'); 
 
    myStickieText = myStickieText.replace(/\[i\]/g, '<i>').replace(/\[\/i\]/g, '</i>'); 
 
    myStickieText = myStickieText.replace(/\[u\]/g, '<u>').replace(/\[\/u\]/g, '</u>'); 
 
    myStickieText = myStickieText.replace(/\[quote\]/g, '<div class="group_myPage_quote">').replace(/\[\/quote\]/g, '</div>'); 
 

 

 
    $("#livepreview").html(myStickieText); 
 

 
}
<div class="text-container" style="float:left; width:70%;"> 
 
    <textarea id="txtarea" name="txtarea" onkeypress="showPreview()" 
 
      style="width:100%; height:135px; resize: none;"> 
 
    </textarea> 
 

 

 
    <div class="livepreview" id="livepreview" style="margin-top:15px;"></div> 
 

 
</div>

不,這不是一個重複,因爲我需要一個修復,而不是一個完整的新的解決方案。)

+0

你在頁面中包含jQuery嗎? – j08691

回答

1

你沒有得到的文本值區域正確。 應該val()text()

只需更換

var myStickieText = $("#txtarea").text();

var myStickieText = $("#txtarea").val();

希望這有助於!

+0

你好,這給了我以下錯誤:'未捕獲的TypeError:無法讀取屬性'val'的空' –

+0

不應該,你可能做了其他錯誤或有衝突。您可能在DOM中存在元素之前運行該函數(您是否通過Ajax加載它?) – Yani

+0

我已經檢查了所有內容,並且確實修復了它。感謝您的支持。 –