首页 > 解决方案 > 使用 Python3 处理 Textarea 事件

问题描述

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


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

def MyPythonFunction(): 
        'Do something with chars'

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

我已经尝试了各种各样的东西,但无法让它发挥作用。

提前致谢

标签: pythoncgi

解决方案


首先,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的内容作为参数传递。这是一个相当高级的主题,但您可以对此进行调查。


推荐阅读