prestashop通过ajax生成一个带有renderform的新表单内容

时间:2015-08-23 23:00:57

标签: javascript php jquery ajax prestashop

我点击时创建了一个按钮,使用prestashop触发renderForm函数,该函数应该通过ajax生成表单。但它似乎不起作用。 任何人都可以帮助我或指出我正确的方向,因为我是prestashop的新手? 在catproduct.php中

public function generateform(){

$html = '<a href="#" class="displayForm">Click me</a>
         <div id="myFormm"></div>
        <script type="text/javascript">
        $( ".displayForm" ).click(function() {
            $.ajax({
              url: "'._MODULE_DIR_.$this->name.'/ajax.php",
              context: document.body,
                })
                .done(function(data) {
                $( "#myFormm" ).html( data );
                alert( "Load was performed." );
            });


        })
    </script>';



return $html;

}


public function renderForm()
{
    $fields_form = array(
        'form' => array(
            'legend' => array(
                'title' => $this->l('Add new category'),
                'icon' => 'icon-cogs'
            ),
            'input' => array(
                array(
                    'type' => 'text',
                    'label' => $this->l('FCI'),
                    'name' => 'FCI',
            ),
            ),

            'submit' => array(
                'title' => $this->l('Save')
            )
        ),
    );
    $helper = new HelperForm();
    $helper->show_toolbar = false;
    $helper->table = $this->table;
    $lang = new Language((int)Configuration::get('PS_LANG_DEFAULT'));
    $helper->default_form_language = $lang->id;
    $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0;
    $this->fields_form = array();

    $helper->identifier = $this->identifier;
    $helper->submit_action = 'submitCatForm';
    $helper->fields_value['FCI'] = 'ddddd';
    $helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false).'&configure='.$this->name.'&tab_module='
    .$this->tab.'&module_name='.$this->name;
    $helper->token = Tools::getAdminTokenLite('AdminModules');

    return $helper->generateForm(array($fields_form));
}

ajax.php文件(ajax文件调用renderForm()函数来创建新表单):

require_once(dirname(__FILE__).'../../../config/config.inc.php');
require_once(dirname(__FILE__).'../../../init.php');

include_once('catproduct.php'); 
$module = new catproduct(); 
echo $module->renderForm();

0 个答案:

没有答案