python - 使用 Python3 处理 Textarea 事件
问题描述
我想知道是否有人可以帮助我。我正在尝试执行以下操作以从 HTML 文本框中获取输入事件并将它们发送到 python 函数。
textarea = cgi.FieldStorage()
chars = textarea.getvalue('1')
def MyPythonFunction():
'Do something with chars'
print(<textarea oninput=MyPythonFunction() </textarea>)
我已经尝试了各种各样的东西,但无法让它发挥作用。
提前致谢
解决方案
首先,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的内容作为参数传递。这是一个相当高级的主题,但您可以对此进行调查。
推荐阅读
- python - 如何获取[0-255]范围内的像素矩阵值python
- ios - “无法同时满足约束”与 UITableViewCell
- filter - 在 DAX 中计算总和
- web-scraping - 平台如何在未经 Instagram 用户同意的情况下访问/提取受众人口统计数据?
- sql - 更新字段,使用子查询联合脚本来执行更新
- internet-explorer-11 - 使用 IE11 和旧版 Edge 的 Office 加载项的截止日期
- python - mlflow 运行命令中单个参数的多个值
- r - 如何在 ifelse 中设置 FALSE 条件,使其保持原始值
- javascript - 使用 python Selenium(通过 javascript)打开新标签突然停止工作
- python - 如何修改 scapy 数据包有效负载