2012-01-25 70 views
2

我使用Ace編輯器,但我沒有使用JavaScript,所以我很難在沒有適當的文檔的情況下使其實際工作。如何使用Ace編輯器使用getvalue?

我正在研究本地PHP文件編輯器..所以打開文件等,工作正常,setcontent像魅力一樣工作。但是現在我想將編輯器的信息保存迴文件中。

本身並不是一個問題。但是,我如何檢索var代碼。 如果我使用document.write,它將不會顯示編輯器中的當前信息。

如果我可以打印出編輯器中的內容,我可以保存數據。但我不知道如何爲getValue提供有效回調

有人可以給我多一點關於怎麼做的信息嗎?

回答

6

簡單的說:

editor.getSession().on('change', function(){ 
     editor.getSession().getValue(); 
}); 
2

editor.getSession().getValue()

哪裏editor是編輯器的實例。如果你在Ace的旁邊使用jQuery,我一直在做的是在DOM元素上保存編輯器實例。

var editor = ace.edit('...'); 
$('#editor').data('editor', editor); 

稍後,如果你需要得到值回,那麼你可以這樣做......

$('#editor').data('editor').getSession().getValue(); 
+0

我用下面的代碼,但它不似乎工作,當我使用jQuery的.html它顯示我所投入的任何東西,但不是編輯器的價值。我可能做錯了什麼。 'editor.getSession()上( '變',函數(){ $( '#內容')的數據(編輯).getSession()的getValue(); });' 感謝回答順便說一句。 – daviddhont

+5

您不需要將編輯器存儲在元素的「數據」包中。要獲取實例,簡單地說'var editor = ace.edit('target');'其中'target'是創建編輯器實例的DOM元素。 – Mrchief

+0

@Mrchief好評。你也應該回答。 – mike