2016-11-21 3 views
0

내 textarea codemirror 값을 편집하여 저장하기 위해 json으로 서버에 보내려고하지만 요소를 선택할 수 없습니다. ... 나는 또한 이드의 요소를 얻으려고했다. 똑같은 일. 이 문제는 좋은 시간 동안 나를 귀찮게 한,Codemirror textarea를 가져올 수 없습니다. js/jquery를 사용하여 여러 요소의 값을

<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js"></script> 
    <script src="http://esironal.github.io/cmtouch/lib/codemirror.js"></script> 
    <link rel="stylesheet" href="http://esironal.github.io/cmtouch/lib/codemirror.css"> 
    <script src="http://esironal.github.io/cmtouch/lib/codemirror.js"></script> 
<div><textarea class="yyyyyy232" id="scripttextarea_1"></textarea><button type="submit" class='yy4e' id='btn_1'>Save1</button></div> 
<div><textarea class="yyyyyy232" id="scripttextarea_2"></textarea><button type="submit" class='yy4e' id='btn_2'>Save2</button></div> 
<div><textarea class="yyyyyy232" id="scripttextarea_3"></textarea><button type="submit" class='yy4e' id='btn_3'>Save3</button></div> 
<script> 
$(document).ready(function() { 
     myTextarea=document.getElementsByClassName('yyyyyy232'); 
     console.log($(myTextarea).length); 

      for (i=0;i<myTextarea.length;i++){ 

       cm=CodeMirror.fromTextArea($(myTextarea[i])[0], { 
        mode: "python", 
        lineNumbers: true, 
        lineWrapping: true, 
        indentUnit: 4, 
        height: 400 
       }); 
      }; 
}); 


$('.yy4e').on('click',function(e){ 
      e.preventDefault(); 
      ppp=$(this).attr('id').split('_')[1]; 
      xx=document.getElementById("scripttextarea_"+ppp); 

       cm=CodeMirror.fromTextArea(xx).getValue(); 
       console.log(cm); 

      $.getJSON('/edit_scripts',{ 
       'command' : cm 
      },function(data){ 
       console.log('edited'); 
      }) 
     }); 

</script>   

도움이 정말 좋은 것 널

의 자산 가치 '를 읽을 수 없습니다 :이 얻을.

ppp=$(this).attr('id').split('_')[1]; 

를 그리고 여기 참조 :

+0

오류로 인해 발생한 줄은 무엇입니까? –

+0

cm = CodeMirror.fromTextArea (xx) .getValue(); 값을 얻는 중 ... – stevenp32

+0

문제는 정의한 textarea가 CodeMirror 코드에 의해 재정의되고 실제로 초기화 한 텍스트 영역이 현재 숨겨져 있습니다 ... – rJ7

답변

1

$(document).ready(function() { 
 
      myTextarea=document.getElementsByClassName("yyyyyy232"); 
 
      console.log($(myTextarea).length); 
 
      var cm = new Array(); 
 
       for (i=0;i<myTextarea.length;i++){ 
 

 
        cm[i]=CodeMirror.fromTextArea($(myTextarea[i])[0], { 
 
         mode: "python", 
 
         lineNumbers: true, 
 
         lineWrapping: true, 
 
         indentUnit: 4, 
 
         height: 400 
 
        }); 
 
       }; 
 

 
       $(".yy4e").on("click",function(e){ 
 
          e.preventDefault(); 
 
          ppp=$(this).attr("id").split("-")[1]; 
 
          numcode= parseInt(ppp)-1; 
 
          xx=$("#scripttextarea_"+ppp).attr("id"); 
 
          console.log(xx); 
 

 

 
           var Code=cm[numcode].getValue(); 
 
           console.log(Code); 
 

 
          $.getJSON("/test",{ 
 
           "command" : cm[numcode] 
 
          },function(data){ 
 
           console.log("edited"); 
 
          }) 
 
         }); 
 

 

 
    });
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js"></script> 
 
     <script src="http://esironal.github.io/cmtouch/lib/codemirror.js"></script> 
 
     <link rel="stylesheet" href="http://esironal.github.io/cmtouch/lib/codemirror.css"> 
 
     <script src="http://esironal.github.io/cmtouch/lib/codemirror.js"></script> 
 
    <div><textarea class="yyyyyy232" id="scripttextarea_1"></textarea><button type="submit" class="yy4e" id="btn-1">Save1</button></div> 
 
    <div><textarea class="yyyyyy232" id="scripttextarea_2"></textarea><button type="submit" class="yy4e" id="btn-2">Save2</button></div> 
 
    <div><textarea class="yyyyyy232" id="scripttextarea_3"></textarea><button type="submit" class="yy4e" id="btn-3">Save3</button></div> 
 
는이 문서에서 BTN 이름에 대해 위의 클릭에 두 번째 언급되는 여러 문제 하나가 코드의 작동 예입니다 준비 당신이 아니라 모든 코드 거울을 식별 세 번째 값 cm 및 배열 cm [] cm [] 배열 수를 사용하여 텍스트 영역 값을 호출해야합니다

+0

완벽한 답변. Thx 사람이 나를 구해 줬어! – stevenp32

+0

언제든지 환영합니다 :) –

0

확인 여기 주셔서 감사합니다

<div> 
    <textarea class="yyyyyy232" id="scripttextarea_1"></textarea> 
    <button type="submit" class='yy4e' id='btn1'>Save1</button> 
</div> 

인 btn1은 ' _ '에 의해 분할 할 수없는 그것을 당신이 인 btn1을 교체하는 것이 잘 될 것입니다 ~ bth_1.

알림 : 먼저 값을 단계별로 인쇄 해보십시오.

+0

내 질문을 편집 ... 그것은 btn_1 함께 있어야했고 그것도 그렇게 작동하지 않는다 ... 나는 올바른 ID를 발견하고 cm = CodeMirror.fromTextArea (document.getElementByID (xx)). getValue(); - 동일 함 – stevenp32

+0

현재 귀하의 질문은 무엇입니까? – Anson

+0

codemirror textarea 값을 얻는 방법은 무엇입니까? – stevenp32