Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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
Cakephp 如何将数组作为隐藏字段传递?_Cakephp_Autocomplete_Scriptaculous_Hidden Field - Fatal编程技术网

Cakephp 如何将数组作为隐藏字段传递?

Cakephp 如何将数组作为隐藏字段传递?,cakephp,autocomplete,scriptaculous,hidden-field,Cakephp,Autocomplete,Scriptaculous,Hidden Field,我正在使用scriptaculous.js框架的Ajax.autocompleter方法实现一个自动完成框 这是自动完成框和div,其中填充了自动建议的条目 <?php echo $form->create('Share', array('url' => '/forms/share')); ?> <label for="shareWith">Share Form with</label> <input type="text"

我正在使用scriptaculous.js框架的Ajax.autocompleter方法实现一个自动完成框

这是自动完成框和div,其中填充了自动建议的条目

<?php echo $form->create('Share', array('url' => '/forms/share')); ?>
    <label for="shareWith">Share Form with</label>
    <input type="text" id="autocomplete" name="autocomplete_parameter"/>
    <div id="autocomplete_choices" class="autocomplete"></div>
    <input type="hidden" id="sharedUserId" name="sharedUserId"/>
<?php echo $form->end('Share');?>
假设我选择了多个条目,如何发送这些值?
我可以将一个数组作为隐藏字段,这样我就可以拥有一个选定元素的数组,并将该数组保存为隐藏字段吗?

但与您的问题无关

jQuery自动完成您的任务
只需为每个选定ID创建一个新的隐藏输入字段,并确保每个ID都有name=sharedUserId[]。这并不遵循CakePHP表单元素命名约定,但它将确保sharedUserId的发布值是一个数组。

使用json序列化并在服务器中解析它。PHP5.2可以本机解析json。

与您的问题无关,但是:您在同一页面上同时使用scriptaculous+prototype和jQuery?为什么在同一个网站上使用两个JS框架?一个还不够吗?之前我们使用jquery进行了编码。。为了实现自动完成功能,需要scriptaculous框架
new Ajax.Autocompleter("autocomplete", "autocomplete_choices",
                       "http://localhost/FormBuilder/forms/autoComplete",
                           {  
                            tokens: ',',
                           afterUpdateElement : getSelectedId
                           }
                       );

function getSelectedId(text, li) {
        $("#sharedUserId").val(li.id);
}