【问题标题】:Get the value of selected radio button in Fabrik Form using PHP使用 PHP 获取 Fabrik Form 中选定单选按钮的值
【发布时间】:2013-10-21 08:33:55
【问题描述】:

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

我已经确认表单是使用 POST 通过 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。

不确定这是否正确,但我也尝试过使用 switch($_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>

【问题讨论】:

  • 单选按钮的 HTML 提取:
  • 请发布您的 HTML 的一部分。
  • @mavrosxristoforos:谢谢,我已经在这里发布了 html 摘录。
  • 我可以就上述问题提出一些建议吗?
  • 如果从 HTML 中的 file_request___Action[] 中删除 [] 会发生什么?

标签: php forms joomla


【解决方案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}";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-30
    • 2018-10-07
    • 1970-01-01
    • 2014-04-05
    • 2012-01-27
    相关资源
    最近更新 更多