2016-08-25 129 views
1

我试图在窗体中选中时检索复选框的值。我用下面的方法将所有的复选框存储在一个数组中;使用[]输入名称后:从php页面中的复选框将值(数组)传递到另一个使用jinput的php页面

<input type="checkbox" class="form-control" name="documents[]" value="<?php echo $this->user->construction; ?>" />Construction of building<br/>

然后我存储选择的值之后,就提出:

if(isset($_POST['submit'])){//to run PHP script on submit 
            if(!empty($_POST['documents'])){ 
            // Loop to store and display values of individual checked checkbox. 
            foreach($_POST['documents'] as $selected){ 
            echo $selected."</br>"; 
            } 
            } 
            } 

在其他PHP页面,我尝试检索的价值在可变呼叫“文档”所选择的复选框:

$app = JFactory::getApplication(); 
$documents = $app->input->getVar('documents',array()); 

但检索数据后,返回的唯一值是=阵列。

任何帮助将不胜感激。

回答

1

我终于能得到我自己完成这件事:

$docs = $_POST['documents']; 
     foreach ($docs as $documents) 
{ 
     $msg .= "$documents\n" ; 

} 

然后我用的变量$味精将复选框的值保存在数组中。

0

要使用Jinput检索JForm后的数据,你可以使用

$jinput = JFactory::getApplication()->input; 

$formData = new JRegistry($jinput->get('jform', '', 'array')); 

$documents= $formData->get('documents',''); 
+0

感谢您的评论。我已经尝试过,但现在我得到一个空数组。它似乎没有从表格中发布数据?我是否正确地发布了表单? –

+0

你能告诉我你正在谈论哪个php页面。此页面是否属于模块组件,以及组件的哪个页面(如果它是组件的话)? –

+0

是的,它属于一个组件。该组件被称为BT属性。我直接发送数据到电子邮件。因此,我试图从申请属性页面(联系人代理)发布数组的值,以存储在代理控制器页面中,然后在提交时将其发送到电子邮件地址。我可以获得其他任何文本框输入。只是数组(复选框输入)是一个问题。 –

相关问题