0

我一直在尝试在我看来创建一个 joomla 表单。但是当我使用“应用”函数并尝试从 $_POST 全局检索信息时,我缺少三个字段中的两个。我无法为我的生活找出问题所在。

由于我获得了其中一个字段,因此我假设我已经以某种 Joomla 方式创建了表单。

<form action='<?php echo JRoute::_('index.php?option=com_mycomponent'); ?>' method='post' name="adminForm">
<fieldset><legend><?php echo JText::_('COM_MYCOMPONENT_SETTING_LEGEND'); ?></legend>
<label for=' <?php echo JText::_('COM_MYCOMPONENT_FORM_NAME'); ?>'> <?php echo JText::_('COM_MYCOMPONENT_USE'); ?>: </label>
<select name=' <?php echo JText::_('COM_MYCOMPONENT_FORM_NAME'); ?>' id=' <?php echo JText::_('COM_MYCOMPONENT_FORM_NAME'); ?>'>
<option value='0'> <?php echo JText::_('COM_MYCOMPONENT_NO')?></option>             
<?php   
if ($this->m_use_osn)
    echo "<option value='1' selected>";
else 
    echo "<option value='1'>";
?>  
<?php echo JText::_('COM_MYCOMPONENT_YES')?></option>   
</select>       
<br /> 
<label for='<?php echo JText::_('COM_MYCOMPONENT_URL_FORM_NAME'); ?>'> <?php echo JText::_('COM_MYCOMPONENT_URL'); ?>: </label>     
<?php
if (!empty($this->m_osn_url)) 
    echo "<input type='text' value='".$this->m_osn_url."' /><br />";
else 
    echo "<input type='text' placeholder='".JText::_('COM_MYCOMPONENT_URL_PLACEHOLDER')."' /><br /> ";
?>  
<label for='<?php echo JText::_('COM_MYCOMPONENT_KEY_FORM_NAME'); ?>'> <?php echo JText::_('COM_MYCOMPONENT_KEY'); ?>: </label>                 
<?php
if (!empty($this -> m_osn_key))
    echo "<input type='text' value='" . $this -> m_key . "' /><br /> ";
else
    echo "<input type='text' placeholder='".JText::_('COM_MYCOMPONENT_KEY_PLACEHOLDER')."' /><br />";
?>
<input type="hidden" name="task" value="" />
<input type='submit' value=' <?php echo JText::_('COM_MYCOMPONENT_SUBMIT'); ?> />
</fieldset>
</form>

但是,avar_dump($_POST)给我的是:

array(3) {
  ["mycomponent_use"]=>
  string(1) "0"
  ["task"]=>
  string(5) "apply"
  ["option"]=>
  string(14) "com_mycomponent"
}

所以,由于某种原因,我没有得到任何文本输入字段。我也尝试过获取数据JFactory::getApplication()->input...,由于某种原因它忽略了我的<input type='text' />. 我是否必须以某种方式在 $_POST 全局中注册这些?由于我不能使用常规的提交按钮,但必须依赖于 joomla 栏,我对得到一个 semi empty 感到有点沮丧$_POST

4

1 回答 1

1

您忘记在表单中提供输入字段的名称。请为每个字段分配不同的名称。您可以参考这个。

处理表格

于 2013-07-22T14:39:39.117 回答