Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有python cgi的Javascript未给出预期结果_Python_Cgi - Fatal编程技术网

带有python cgi的Javascript未给出预期结果

带有python cgi的Javascript未给出预期结果,python,cgi,Python,Cgi,在下面的PythonCGI脚本中,我使用javascript函数在单击时更改图片。但显然它似乎不起作用。我是在效仿美国的例子。所以我只想确认一下,是否可以在Python CGI脚本中使用javascript 如果必须在Python中执行相同的示例,那么应该采用什么方法 #!/usr/bin/env python import cgi print """print "Content-type: text/html; charset=utf-8 <!DOCTYPE html> <

在下面的PythonCGI脚本中,我使用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>

"""
#/usr/bin/env python
导入cgi
打印“”“打印”内容类型:text/html;字符集=utf-8
函数changeImage()
{
element=document.getElementById('myimage')
if(element.src.match(“bulbon”))
{
element.src=“../pic_bulboff.gif”;
}
其他的
{
element.src=“../pic_bulbon.gif”;
}
}
单击灯泡以打开/关闭灯

"""
是的,您可以通过python CGI scrpit在HTML内部发送javascript。您必须更改要发送到的字符串的初始部分:

print """Content-type: text/html; charset=utf-8\n\n
<!DOCTYPE html>
...
print”“”内容类型:text/html;字符集=utf-8\n\n
...
编辑以添加以下注释:

您的代码中有两个问题:

第一,您必须删除“print”部分,因为您已经在打印字符串


第二,它是CGI的一个规范,它必须用“\n\n”分隔标题,例如“内容类型:text/html”;charset=utf-8\n\n“来自以下部分,例如“…”(事实上,由于您有一个隐式“\n”,只需再添加一个就足够了…。

是的,您可以通过python CGI scrpit在HTML内部发送javascript。您必须更改要发送到的字符串的初始部分:

print """Content-type: text/html; charset=utf-8\n\n
<!DOCTYPE html>
...
print”“”内容类型:text/html;字符集=utf-8\n\n
...
编辑以添加以下注释:

您的代码中有两个问题:

第一,您必须删除“print”部分,因为您已经在打印字符串


第二,它是CGI的一个规范,它必须用“\n\n”分隔标题,例如“内容类型:text/html”;charset=utf-8\n\n“来自以下部分,例如“…”(事实上,由于您有一个隐式“\n”,只需再添加一个就足够了…。

它起作用了,非常感谢!!您能告诉我更改字符串的初始部分时发生了什么(其意义)?@sarbjit有两个问题-第一个是琐碎的问题,第二个是你自己很难发现的问题:请查看我在答案中添加的信息,了解详细信息。这很有效,非常感谢!!你能告诉我更改字符串的初始部分时发生了什么(它的意义)?@sarbjit有两个问题——第一个是琐碎的问题,第二个是你自己很难发现的问题:详细信息请参阅我在答案中添加的信息。