我是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>
答案 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}";