2013-03-05 3 views
1

아래 Python CGI 스크립트에서 자바 스크립트 함수를 사용하여 클릭시 그림을 변경합니다. 하지만 분명히 작동하지 않는 것 같습니다. 나는 w3 schools js example에서 예를 따릅니다. 그래서 그냥 준수하고 싶습니다, 파이썬 CGI 스크립트 안에서 자바 스크립트를 사용할 수 있습니까?Python CGI가있는 자바 스크립트가 예상 결과를 제공하지 않습니다.

동일한 예제가 파이썬에서 수행되어야한다면, 어떤 접근 방식이어야합니다.

#!/usr/bin/env python 

import cgi 

print """print "Content-type: text/html; charset=utf-8 
<!DOCTYPE html> 
<html> 
<body> 
<script> 
function changeImage() 
{ 
element=document.getElementById('myimage') 
if (element.src.match("bulbon")) 
    { 
    element.src="../pic_bulboff.gif"; 
    } 
else 
    { 
    element.src="../pic_bulbon.gif"; 
    } 
} 
</script> 

<img id="myimage" onclick="changeImage()" 
src="../pic_bulboff.gif" width="100" height="180"> 

<p>Click the light bulb to turn on/off the light</p> 

</body> 
</html> 

""" 

답변

2

예, 파이썬 CGI scrpit을 통해 HTML 안에 javascript를 보낼 수 있습니다. 다음과 같은 주석을 추가

print """Content-type: text/html; charset=utf-8\n\n 
<!DOCTYPE html> 
... 

편집 : 당신은 당신이 보내는 문자열의 처음 부분을 변경해야

1 : 코드의 두 가지 문제가 있었다

두 번째로, 헤더를 구분하는 "\ n \ n"이 있어야하는 CGI 사양입니다. 예를 들어, "print" content-type : text/html; (예를 들어, "\ n"을 암시 적으로 사용 했으므로 하나만 더 추가하면됩니다.)

+0

덕분에 많은 도움이되었습니다. 문자열의 초기 부분 (중요도)을 변경했을 때 어떤 일이 발생했는지 알려주시겠습니까? – sarbjit

+1

@sarbjit 두 가지 문제가있었습니다. 첫 번째 사소한 문제와 두 번째 어려운 문제가있었습니다. 자신 : 자세한 내용은 내 대답에 추가 한 정보를 참조하십시오. –

관련 문제