Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Symfony2 form builder中动态加载信息_Symfony_Formbuilder - Fatal编程技术网

在Symfony2 form builder中动态加载信息

在Symfony2 form builder中动态加载信息,symfony,formbuilder,Symfony,Formbuilder,我和Symfony2一起工作。表单生成器中有两个字段,当我在第一个字段中选择一个选项时,第二个字段中的信息应根据第一个选项动态重新加载 我怎么做?我们需要什么? 让我们假设,为了简单起见,当用户输入'knock-knock'时,下一个字段将填充'who's there' 假设第一个字段(用户将填充)的id为#input_filled_by_user,另一个字段的id为#input_filled_with_php 我们如何解决这个问题? 只要用户将在脚本执行后键入,我们就需要一些信息来告诉我们,他

我和Symfony2一起工作。表单生成器中有两个字段,当我在第一个字段中选择一个选项时,第二个字段中的信息应根据第一个选项动态重新加载


我怎么做?

我们需要什么?

让我们假设,为了简单起见,当用户输入'knock-knock'时,下一个字段将填充'who's there'

假设第一个字段(用户将填充)的id为
#input_filled_by_user
,另一个字段的id为
#input_filled_with_php

我们如何解决这个问题?

只要用户将在脚本执行后键入,我们就需要一些信息来告诉我们,他在或case“knock-knock”(即jQuery)中编写了特定的单词,并将其发送给控制器(restapi的一个别致名称)

然后在控制器中处理并返回结果,然后使用jQuery(再次)将结果输出给用户

代码

首先,我们需要一个路由器:

my_door_keeper_router:
    pattern:  /request/{string}
    defaults: { _controller: AcmeDemoBundle:door:keeper, _format: ~ }
requirements:
    _method: GET
    id: "\d+"
这是动作控制器:

public function keeperAction($string)
{

    if ($string == 'knock knock') {
        echo "hello"; // please dont do it with echo use symfony way , i just dont have enough time 
    }

    return;
}
现在使用jQuery:

$('#input_filled_by_user').change(
   function(){
      $.get('/request', { string: $(this).val() } ,function(data) {
  $('#input_filled_with_php').val(data);
  alert('Load was performed.');
});
   }
)

就这样。希望这是有意义的(请深入挖掘,我试着用虚拟的方式解释它,我提到的一些事情有一半是正确的,但无论你现在尝试做什么,你都可以这样做)。

你可以用ajax(Jquery)来做这件事,向某个控制器发出ajax请求并让它返回信息。。用jquery填充该字段。。这就是它是如何做到的(我不认为有任何其他的方式),如果你想它是动态的,请阅读更多的感谢codiez,但我是一个初学者在Symfony 2,你能解释它更多请。你好。回答得好,但我们的问答形式确实非常重视演示文稿。所以,如果你能用一些大写字母,我将不胜感激!