Javascript与Python CGI未给出预期结果
在下面这个Python CGI脚本中,我使用了JavaScript函数来实现点击时更换图片的功能。但看起来这个功能并没有正常工作。我是按照w3schools的JavaScript示例来做的。所以我想确认一下,是否可以在Python CGI脚本中使用JavaScript。
如果要用Python来做同样的例子,应该怎么做呢?
#!/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>
"""
1 个回答
4
是的,你可以通过一个Python CGI脚本在HTML中发送JavaScript。你需要修改你发送的字符串的开头部分:
print """Content-type: text/html; charset=utf-8\n\n
<!DOCTYPE html>
...
编辑:添加以下评论:
你的代码有两个问题:
第一个问题是,你需要去掉 'print "' 这一部分,因为你已经在打印一个字符串了;
第二个问题是,CGI有个规定,必须用"\n\n"来分隔头部和后面的内容,比如 "content-type: text/html; charset=utf-8\n\n" 和后面的部分,比如 "..."(实际上,由于你已经有一个隐含的"\n",只需要再加一个就可以了)。