使用AJAX加载

时间:2016-03-05 13:57:36

标签: ajax zend-framework zend-form

控制器:

public function searchAction()
{  
    $form = new Application_Form_Search;
    $k = $form->getValue('keyword');
    $car    = new Application_Model_Car();
    $mapper  = new Application_Model_CarMapper();
    $this->view->cars = $mapper->search($keyword);
}

形式

<?php
class Application_Form_Search extends Zend_Form {

    public function init(){
        $this->setMethod('post');

        $this->addElement('text', 'keyword', array(
            'required'   => true,      
            'label'      => 'Keyword:'
        ));

        $this->addElement('button', 'submit', array(
            'required' => false,
            'ignore'   => true,                
            'label'    => 'Search'
        ));
    }
}
?>

原始视图页

  $(document).ready(function(){
     $("#submit").click(function(){
      $("#main").load('/cars/search'); 
     });  
  });

在这里,我尝试使用.load()

在原始视图页面的“id = main”部分返回搜索视图

在搜索视图中,<?=$this->keyword?>显示为空 似乎从表单

中获取关键字字段时出现问题

1 个答案:

答案 0 :(得分:0)

好的,您需要设置.load的第二个变量来发送数据。目前,您没有将数据发送到.load函数

所以它会更像这样。这假设你有关键字

的id
$("#main").load('/cars/search', {'keyword':$('input#keyword').val()});

或者您可以使用

$("#main").load('/cars/search', {'keyword':$('[name="keyword"]').val()});

请看 http://api.jquery.com/load/

还要记住逃避价值,以免人们通过您的表单发送恶意代码。

希望有所帮助