假设您有一个包含多个提交的表单:
<form method="POST" action="/etc">
<input name="foo" type="submit" value="Foo!">
<input name="bar" type="submit" value="Bar!">
</form>
检查在 PHP 中按下了哪个提交按钮很简单:
if (isset($_POST['foo'])) { return 'foo' }
if (isset($_POST['bar'])) { return 'bar' }
什么是 Python.Bottle 等价物?
我试过了:
if (request.POST.get('foo')):
return 'foo'
if (request.POST.get('bar')):
return 'bar'
但这会返回一个 KeyError,这意味着 'foo' 和 'bar' 不在 POST 字典中。
我还尝试在表单中添加一个测试字段,并在提交表单时返回该字段中的值并且效果很好,因此表单正在发布。
一件事可能很重要:表单中的提交按钮是动态生成的。
编辑:发现一个可能的问题。我正在使用 jQuery 发布和序列化表单数据,但显然 jQuery 的序列化忽略了输出中的提交按钮,这肯定会导致我所看到的。目前正在研究解决方法,但仍然感谢任何帮助。