【问题标题】:Passing variable to the view from zend form using AJAX load使用 AJAX 加载将变量从 zend 表单传递给视图
【发布时间】:2016-03-05 13:57:35
【问题描述】:

控制器:

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”部分返回搜索视图

在搜索视图中,&lt;?=$this-&gt;keyword?&gt; 显示为 null 从表单中获取关键字字段似乎有问题

【问题讨论】:

    标签: ajax zend-framework zend-form


    【解决方案1】:

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

    所以它会更像这样。这是假设您有关键字的 id

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

    或者你可以使用

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

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

    还要记住转义该值,这样人们就无法通过您的表单发送恶意代码。

    希望有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      • 2019-05-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多