2016-04-16 9 views
1

Ich habe Ace-Widget in meine Seite eingebettet. Ich habe eine Schaltfläche hinzugefügt, die den Editor Sitzung Wert mit getvalue() -Methode liest. Der Editor verschwindet, nachdem ich auf die Schaltfläche geklickt habe. Was könnte die Ursache für Fehler sein? Bitte finden Sie den Screenshot im folgenden Link.Ace-Code-Editor verschwindet onclick

<ace-widget id="editor1" initial-focus theme="ace/theme/monokai" mode="ace/mode/json" softtabs="true" wrap="true"> 
      This is a nice widget... and we are writing a long text here to show the effects of the `wrap` attribute. 
      </ace-widget>  
      <paper-button raised class="custom indigo" onclick="myrun()">Run</paper-button>    
      <paper-textarea label="autoresizing textarea input"></paper-textarea> 
      <script type="text/javascript"> 
      function myrun(){ 
       var editor = ace.edit("editor1"); 
       var myVar = editor.getSession().getValue(); 
       myVar= myVar.replace(/\d+/, ''); 
       myVar = myVar.substring(0,myVar.indexOf('XXXXXXX')); 
       alert(myVar); 
      } 
      </script> 

Screenshot

Antwort

0

Sie müssen document.getElementById("editor1").editor verwenden statt ace.edit("editor1")

<script src="https://rawgit.com/ajaxorg/ace-builds/master/src/ace.js"></script> 
 
<script src="https://rawgit.com/ajaxorg/ace-builds/master/src/ext-language_tools.js"></script> 
 
<link rel="import" href="https://rawgit.com/Download/polymer-cdn/master/lib/polymer/polymer.html"> 
 
<link rel="import" href="https://rawgit.com/LostInBrittany/ace-widget/master/ace-widget.html"> 
 
<link rel="import" href="https://rawgit.com/Download/polymer-cdn/master/lib/paper-elements/paper-elements.html"> 
 

 

 
<ace-widget id="editor1" initial-focus theme="ace/theme/monokai" mode="ace/mode/json" softtabs="true" wrap="true"> 
 
      This is a nice widget... and we are writing a long text here to show the effects of the `wrap` attribute. 
 
</ace-widget>  
 
<paper-button raised class="custom indigo" onclick="myrun()">Run</paper-button>    
 
<paper-textarea label="autoresizing textarea input"></paper-textarea> 
 
<script type="text/javascript"> 
 
    function myrun() { 
 
     var editor = document.getElementById("editor1").editor 
 
     var myVar = editor.session.getValue(); 
 
     myVar= myVar.replace(/\d+/, ''); 
 
     myVar = myVar.substring(0,myVar.indexOf('XXXXXXX')); 
 
     alert(myVar); 
 
    } 
 
</script>