2012-08-26 5 views
1

나는 그것이 매우 기본적인 질문이라고 생각합니다. Perl CGI를 사용하여 웹 페이지를 개발하려고합니다. 내 양식에 텍스트 편집기 (iframe 사용)가 있습니다. 코드 :Perl CGI 스크립트에서 iframe 반환 값을 캡처하십시오.

<iframe id="textEditor" style="width:500px; height:170px;background-color:white"> 
</iframe> 

내가 PARAM 기능을 사용하여, 내 펄 CGI 코드 형태의 제출에 텍스트 편집기에서 작성하고있는 내용을 캡처 노력하고 있어요. 그러나 실패! 제발 도와주세요. 나는 CGI의 PARAM() 함수를 사용하여 텍스트 편집기로 작성 값을 포착하려고

<iframe id="textEditor" style="width:500px; height:170px;background-color:white"> 
</iframe> 
<script type="text/javascript"> 
<!-- 
textEditor.document.designMode="on"; 
textEditor.document.open(); 
textEditor.document.write(\'<head><style type="text/css">body{ font-family:arial; font-size:13px; }</style> </head>\'); 
textEditor.document.close(); 
function def() 
{ 
    document.getElementById("fonts").selectedIndex=0; 
    document.getElementById("size").selectedIndex=1; 
    document.getElementById("color").selectedIndex=0; 
} 
function fontEdit(x,y) 
{ 
    textEditor.document.execCommand(x,"",y); 
    textEditor.focus(); 
} 
--> 
</script> 

:

은 iframe 대응에 관련된 코드가있다.

+1

Welcome to StackOverflow. 최상의 결과를 얻으려면 iframe 콘텐츠를 서버에 전달하는 방법과 서버 스크립트가이를 읽는 방법을 이해할 수있는 JavaScript 및 Perl 코드를 충분히 표시하십시오. – mob

답변

0

클라이언트는 HTML의 <form> 요소 안에있는 <input>, <select> 또는 <textarea> 요소의 데이터 만 전달합니다. 안에있는 자바 스크립트 편집기에서 데이터를 전달하려면 JavaScript를 사용하여 입력 요소의 값을 설정해야합니다.

this tutorial에 따르면, 당신은 당신의 HTML이

<form name="myForm" action=".../my-cgi-script.cgi" method="POST"> 
    <input name="editorData" type="hidden" value=""> 
    ... other input elements ... 
    <iframe id="textEditor" ...></iframe> 
</form> 

같은 것을보고 싶을거야, 그리고 당신은 제출 버튼을 누르면 실행하려면이 같은 몇 가지 자바 스크립트가 필요합니다.

document.myForm.editorData.value = textEditor.document.body.innerHTML; 
document.myForm.submit(); 

서버 측에서는 매개 변수 editorData에 텍스트 편집기의 내용이 포함됩니다.

+0

대단히 감사합니다. 완벽하게 작동하고 있습니다. – vips

관련 문제