2016-03-05 77 views
0

控制器傳遞變量到視圖從zend的形式:使用AJAX負荷

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'); 
    }); 
    }); 

在這裏,我試圖返回搜索視圖原視圖頁面在原始視圖頁的「id = main」部分,使用​​

在搜索視圖,<?=$this->keyword?>是顯示空 好像有問題,從形式

回答

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/

還記得逃跑的值,因此人們無法通過發送惡意代碼你的形式。

希望可以幫到