使用PHP获取Fabrik表单中所选单选按钮的值

时间:2013-10-21 08:33:55

标签: php forms joomla

我是Web开发的新手。 我要求根据Joomla的Fabrik Form中的单选按钮进行不同的处理。

我已经确认表格是通过POST使用

提交的
if ($_SERVER['REQUEST_METHOD'] == 'POST') {return true;} else {return false;}   

我已经检查过选择了单选按钮:

if (isset($_POST['file_request___Action'])) {return true;} else {return false;}

当选择其中一个单选按钮时,此功能正常。

现在,在表单上我检查了“打印”按钮,然后我尝试使用PHP验证它:

switch($_POST['file_request___Action']) 
{
case "Save":           
    return false;            
    break;        
case "Print":           
    return true;            
    break;       
default:           
    return false;   
}

这不起作用。即使选中了“打印”按钮,也会返回false。

不确定这是否正确但我也尝试使用开关($ _ POST ['file_request ___ Action []'])

有人能指出我哪里错了吗? 我该如何访问这些单选按钮?

<div class="fabrikElement file_request___Action">
     <div class="fabrikSubElementContainer" id="file_request___Action">
        <div class="fabrik_subelement" style="float:left;width:23%">
            <label>
            <span>Save</span>
            <input class="fabrikinput" type="radio" name="file_request___Action[]" value="Save" checked="checked"> 
             </label>
        </div> <!-- end row div -->
        <div class="fabrik_subelement" style="float:left;width:23%">
            <label>
            <span>Print</span>
            <input class="fabrikinput" type="radio" name="file_request___Action[]" value="Print">
            </label>
        </div> <!-- end row div -->
    </div>
</div>

1 个答案:

答案 0 :(得分:1)

Fabrik允许您使用其表单数据发布对象访问所有表单数据。请参阅此处的信息:

http://fabrikar.com/forums/index.php?wiki/php-form-plugin/#accessing-form-data

您应该使用FormPHP插件,然后只需对单选按钮进行简单检查:

$checkbox = $formModel->formData->tbl_name___element_name

注意:执行此var_dump以获取完整/正确的元素名称。它可能在数组中,您甚至可能需要使用$ checkbox [0]来获取数组数据。此外,您可能需要将_raw添加到元素名称的末尾,以帮助获取原始提交的数据。

从那里你应该可以通过你的开关。另一种可能的方法是使用Fabrik的自动替换(等待你发射FormPHP插件的地方):

$radio1 = (int)"{listname___radio1_raw}";