2011-09-26 4 views
0

텍스트 편집기가 추가 양식에 표시됩니다. 아약스를 통해 양식을로드하고 있습니다. 추가 버튼을 클릭하면 양식이 ajax.Now에로드됩니다. 문제는 내 HTML 텍스트 편집기 스크립트 파일이 내 아약스 양식에로드되지 않습니다. 간단한 텍스트 영역 만 표시됩니다. ajax 양식의 텍스트 편집기를로드하는 방법, 제발 조언 해주세요. html 텍스트 편집기가 아약스 양식에 표시되지 않습니다.

내가

<script type='text/javascript'> 
    var j = jQuery.noConflict(); 
     j(function() { 
      j("#Textarea1").htmlarea({ 
       toolbar: ["html", "|", 
         "forecolor", 
         "|", "bold", "italic", "underline", "|", "p", "h1", "h2", "h3", "|", "link", "unlink"] // Overrides/Specifies the Toolbar buttons to show 
       }); 
     }); 
    </script> 

    <textarea id="Textarea1" cols="50" rows="15"><p><h3>Another TextArea</h3>This is some sample text to test out the <b>WYSIWYG Control</b>.</p></textarea> 
+2

일부 코드를 제공 할 수 있습니까? –

답변

1

Ajax를로드하는 동안 모든 js 파일을로드하려고 시도하십시오. 또한 FCKEditor, Tiny MCE 등을 사용하는 html 편집기 유형을 언급하십시오.

0

에디터를 만드는 데 사용하는 JS는 아마 단지 런타임에로드지고 사용하고있는 편집기입니다. 그것을 함수로 옮기고, ready와 on ajax success를 호출하십시오.

0

기능이 실행되지 않습니다. 스크립트를 실행하려면 응답 후에 함수를 호출하여 스크립트를 "평가"해야합니다.

새 함수는 DOM에서 스크립트를 찾아 실행해야합니다. 항상 문서에 AJAX를 통해로드 스크립트 일어날

//put your response in a div or something and use the div id to grab the tag with a name = to script 
divId.getElementsByTagName("script") 
loop... 
eval(script.innerHTML) 

아래

의사 코드. 이 문제를 해결하려면 두 가지를 할 수 있습니다.

  1. 를 사용하여 DOM은 AJAX 응답을 얻을, 다음이 스크립트로 처리 될 수 있도록 문서의 헤드에 추가합니다.

  2. eval()을 사용하십시오. 나는 이렇게하는 것을 꺼린다. 그러나 어떤 사람들은 그것을 사용하는 것에 신경 쓰지 않는다. 특히 코드가 작을 때 그렇다.

관련 문제