我正在处理一个现有代码,最后一个开发人员创建了一个表单,但没有使用“$form”,代码是:
public function indexAction() {
.......
$objRequest = $this->getRequest();
var_dump($objRequest->isPost()) ==> all time return false
if ($objRequest->isPost()) {
$postedData = $objRequest->getPost();
$inputData = new Zend_Filter_Input($this->filters, $this->validators,
$objRequest->getPost());
$params = $this->getRequest()->getParams();
if ($inputData->isValid()) {
.....
在竞争中:
<?php $actionURL = $this->url(array(
'controller' => 'index',
'action' => 'index',
'module' => 'default',
));
?>
<form name="indexFormn" id="indexForm" method="POST" action="<?php echo $actionURL; ?>">
<div class="AdminformDiv">
<div class="errorbox">
<?php
if (!is_array($this->actionErrors)) {
echo $this->actionErrors;
}
?>
</div>
<div>
<table border="0" cellpadding="0" cellspacing="0" style="width:700px">
<tbody>
<tr>
<td style="width:128px">Amount</td>
<td colspan="2">$ <?php echo $this->price;?> USD<td style="width:270px"> </td>
</tr>
<tr>
.....
这意味着他不使用任何表单类,但他确实喜欢旧的 php 方法,但使用 zend,所以他总是返回 false,而我无法修复或检测问题出在哪里?
我刚刚遇到了类似的问题,经过几个小时的搜索后找到了解决方案。检查您的开始和结束表单标签是否填满了表单。我不小心忘记删除之前放入视图文件中的附加结束表单标签。
我不能百分百确定这如何影响我的表单,但附加的结束表单标记将我的方法更改为“获取”,即使我将其设置为发布,因此当我点击提交时,它会直接跳过验证部分。
我希望这有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)