如何在magento中预填充我的自定义表单

时间:2012-12-04 06:13:58

标签: magento

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

有谁知道如何在Magento预填充自定义表单?

1 个答案:

答案 0 :(得分: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”>
//< ![CDATA[
var customForm = new VarienForm('my-form');
//]]>
</script>

查看所有validation class name

的列表

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

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'变量会话,则打印数据。