【发布时间】:2014-09-16 11:23:55
【问题描述】:
我需要从一个表单中对任何控制器执行查询,我试试这个:
<select id="control">
<option value="labs">Laboratórios</option>
<option value="computers">Computadores</option>
<option value="hists">Históricos</option>
</select>
<script>
$(document).ready(function(){
$("#control").change(function(){
var value = $(this).val();
});
});
</script>
<?php
$controller = '<script>document.write(value);</script>';
print_r($controller);
$base_url = array('controller' => $controller, 'action' => 'index' );
echo $this->Form->create("Filter",array('url' => $base_url, 'class' => 'filter'));
echo $this->Form->input("search", array('label' => 'Pesquisa', 'placeholder' => "Pesquisa..."));
echo $this->Form->submit("Pesquisar");
echo $this->Html->link("Reset",$base_url);
echo $this->Form->end();
?>
但是变量 $controller 有字符串“<script>document.write(value);</script>”,如何解决这个问题?或者有其他方法来做到这一点......
【问题讨论】:
-
我现在的理解是,你想根据 $("#control") 值调用控制器。这意味着 $("#control").value 是控制器名称。对吗?
-
是的。 “labs”、“computers”和“hist”是控制器名称。
-
您不能将动态 javascript 值添加到 php。但是你可以在html中改变它(输出),可能是在表单actions中。
标签: javascript forms cakephp controller