我在Magento
中创建了一个类似于客户注册表单的自定义表单。
我想在出现错误消息时预填充此表单。
有谁知道如何在Magento
预填充自定义表单?
答案 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>
的列表
重新填充字段 获取客户填写的所有岗位变量信息的列表
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'变量会话,则打印数据。