Perl 催化剂$c->;需求->;是空的吗?
试图用表单字段催化一些原型页面。提交表单时,我的Catalyst controller似乎没有从表单中获取输入 我已经尝试尽可能减少模板和控制器,但我仍然遇到这个问题 模板仅为:Perl 催化剂$c->;需求->;是空的吗?,perl,forms,parameters,catalyst,Perl,Forms,Parameters,Catalyst,试图用表单字段催化一些原型页面。提交表单时,我的Catalyst controller似乎没有从表单中获取输入 我已经尝试尽可能减少模板和控制器,但我仍然遇到这个问题 模板仅为: <body> <form action="/minimal-testing" method="get"> <select id="select02"> <option value="cat1">cat1</opti
<body>
<form action="/minimal-testing" method="get">
<select id="select02">
<option value="cat1">cat1</option>
<option value="cat2">cat2</option>
</select>
<select id="select06">
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="submit" value="submit" title="submit" />
</form>
<p> Hello, params says: </p>
<p>
[% FOR param IN params ; param.key ; ' = ' ; param.value; END %]
</p>
</body>
当我浏览表单,从选择选项中选择并提交时,我的调试日志只显示
[debug]$VAR1={}代码>
很明显,我错过了一些很明显的东西,我只是没有看到。。。请开导我。你完全正确。我想你的Catalyst日志应该能告诉你这里出了什么问题。问题不在于催化剂
基本上,它是格式不正确的HTML—表单输入都需要一个name
参数,可以在POST中传递回服务器
<select id="select02" name="select02">
<option value="cat1">cat1</option>
<option value="cat2">cat2</option>
</select>
希望有帮助。太棒了。非常感谢你。我知道这一定是非常明显的事情!我很久没有弄乱形体的内部了。。。“id代表CSS,名称代表表单处理”-我会记得那个咒语;-)不客气,很高兴能帮上忙。更准确的说法可能是“id用于DOM操作,name用于表单处理”。顺便说一下,你可能想考虑一下答案,那就是SO系统。干杯
<select id="select02" name="select02">
<option value="cat1">cat1</option>
<option value="cat2">cat2</option>
</select>
[11:31:28.499 16014:debug] Body Parameters are:
.-------------------+----------------------------------------.
| Parameter | Value |
+-------------------+----------------------------------------+
| select02 | cat1 |
| select06 | 2 |
'-------------------+----------------------------------------'