複数の送信があるフォームがあるとします。
<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 dict にないことを意味します。
また、フォームにテスト フィールドを追加し、フォームが送信されたときにそのフィールドに値を返すことを試みましたが、それは完全に機能するため、フォームは投稿されています。
重要な点として、フォームの送信ボタンは動的に生成されます。
編集: 考えられる問題が見つかりました。jQueryを使用してフォームデータを投稿およびシリアル化していますが、明らかにjQueryのシリアル化は出力から送信ボタンを省略しているため、私が見ていることは間違いありません。現在、回避策に取り組んでいますが、引き続きご協力をお願いいたします。