-1

我创建了一个自定义表单,类似于客户注册表单,在Magento. 当出现错误消息时,我想预先填充此表单。

有谁知道我可以如何预填充自定义表单Magento

4

1 回答 1

2

如果没有看到您的代码,很难说哪种方法会起作用,但是其中一种方法应该起作用。

使用 JavaScript 验证- 客户端验证,只有在所有需要的信息都正确时才发布

<form name="my-form" id="my-form" method="post">
<label for="username">
< ?php echo $this->__("User name") ?> <span>*</span></label><br />
<input type="text" id="username" name="username" class="input-text required-entry"/>
.....
</form>

<script type=”text/javascript”&gt;
//< ![CDATA[
var customForm = new VarienForm('my-form');
//]]>
</script>

查看所有验证类名称的列表

重新填充字段 获取客户填写的所有帖子变量信息的列表

Mage::app()->getRequest()->getPost();

获取表单域(例如<input type='text' name='firstname' ... />

Mage::app()->getRequest()->getPost('firstname');

所以在你 .phtml 中尝试(如果你在错误时进行重定向,这将不起作用)

<input type='text' name='firstname' value="<?php echo Mage::app()->getRequest()->getPost('firstname');?>" />

如果上述方法不起作用,那么您需要将帖子信息保存到会话中。

如果验证失败,则在您的控制器中将信息保存到客户会话

 Mage::getSingleton( 'customer/session' )->setData( 'yourFormName', Mage::app()->getRequest()->getPost() );

在您的 phtml 模板中,如果存在“yourFormName”变量会话,则打印数据。

于 2012-12-04T10:10:47.337 回答