使用Python3处理Textarea事件

时间:2019-05-13 17:49:52

标签: python cgi

我想知道是否有人可以帮助我。我正在尝试执行以下操作,以从HTML文本框中获取输入事件并将其发送到python函数。


textarea = cgi.FieldStorage()
chars =  textarea.getvalue('1')

def MyPythonFunction(): 
        'Do something with chars'

print(<textarea oninput=MyPythonFunction() </textarea>) 

我尝试过各种方法,但无法正常工作。

预先感谢

1 个答案:

答案 0 :(得分:1)

首先, textarea HTML标记的 oninput 关键字需要JavaScript代码,并将 mypythonfunction 解释为JavaScript函数。您需要输出一个包含 SUBMIT 标签的HTML 表单,以便在提交表单时它会调用您的服务器端脚本:该表单可能如下所示:

<form name="f" action="my_script.py" method="post">
    <textarea name="chars"></textarea>
    <br>
    <input type="submit" name="submit" value="Submit">
</form>

您必须执行的服务器端脚本 my_script.py 可能类似于:

#!/usr/bin/env python
import cgi
import cgitb

cgitb.enable()
form = cgi.FieldStorage()
chars = form.getvalue('chars')

如果您真的想一次处理输入字符,则可以删除 SUBMIT HTML标签,放回 oninput 关键字。但是随后您必须指定一个JavaScript函数,只要textarea的内容发生更改,该函数便会被调用。此函数必须使用一种称为AJAX的技术来调用服务器端Python脚本,并将 TEXTAREA 的内容作为参数传递。这是一个相当高级的主题,但是您可以对此进行调查。