【发布时间】:2014-03-13 10:42:24
【问题描述】:
我正在从数据库字段创建一个表单,所以我提取所有记录并循环并在 php.ini 的 foreach 循环中添加表单元素。问题是当我提交表单时没有发布元素,我得到的唯一返回是提交按钮: -
stdClass Object
(
[submitbutton] => Submit
)
这就是我创建元素的方式,这些元素都在屏幕上正确显示和运行,只是在我提交时它不会发布,但如果我在 foreach 循环中没有元素,它们会发布,但我需要创建从数据库中动态获取它们,有什么想法吗?
foreach($records as $log){
$inc++;
if($log->type == 0){
$mform->addElement('html', '<p>'.$log->leadin.'</p>');
$attributes = array();
$distractors = explode(',', $log->distractors);
$radioarray=array();
$count = 0;
foreach($distractors as $dis){
$count++;
$radioarray[] =& $mform->createElement('radio', 'radio', '', $dis, $count, array());
}
$mform->addGroup($radioarray, 'radioar'.$inc, '', array(' '), false);
}
else if($log->type == 1){
$mform->addElement('html', '<div>'.$log->leadin.'</div>');
$distractors = explode(',', $log->distractors);
$count = 0;
foreach($distractors as $dis){
$count++;
$mform->addElement('checkbox', 'check'.$count, $dis);
}
}}
这是上述代码输出的图像,所有显示和功能都正确。
<form autocomplete="off" action="blocks/training_plan/student/survey.php" method="post" accept-charset="utf-8" id="mform1" class="mform">
<div style="display: none;"><input name="sesskey" type="hidden" value="MJS9xXm2SA" />
调查选择 1?
<fieldset class="hidden"><div>
<div id="fgroup_id_radioar1" class="fitem fitem_fgroup femptylabel"><div class="fitemtitle"><div class="fgrouplabel"><label> </label></div></div><fieldset class="felement fgroup"><span><input name="radio" value="1" type="radio" id="id_radio_1" /><label for="id_radio_1">1</label></span> <span><input name="radio" value="2" type="radio" id="id_radio_2" /><label for="id_radio_2">2</label></span> <span><input name="radio" value="3" type="radio" id="id_radio_3" /><label for="id_radio_3">3</label></span> <span><input name="radio" value="4" type="radio" id="id_radio_4" /><label for="id_radio_4">4</label></span></fieldset></div><div>Survey choice 2?</div>
<div id="fitem_id_check1" class="fitem fitem_fcheckbox "><div class="fitemtitle"><label for="id_check1">1 </label></div><div class="felement fcheckbox"><span><input name="check1" type="checkbox" value="1" id="id_check1" /></span></div></div>
<div id="fitem_id_check2" class="fitem fitem_fcheckbox "><div class="fitemtitle"><label for="id_check2">2 </label></div><div class="felement fcheckbox"><span><input name="check2" type="checkbox" value="1" id="id_check2" /></span></div></div>
<div id="fitem_id_check3" class="fitem fitem_fcheckbox "><div class="fitemtitle"><label for="id_check3">3 </label></div><div class="felement fcheckbox"><span><input name="check3" type="checkbox" value="1" id="id_check3" /></span></div></div>
<div id="fitem_id_check4" class="fitem fitem_fcheckbox "><div class="fitemtitle"><label for="id_check4">4 </label></div><div class="felement fcheckbox"><span><input name="check4" type="checkbox" value="1" id="id_check4" /></span></div></div>
<div id="fitem_id_answer3" class="fitem fitem_ftextarea "><div class="fitemtitle"><label for="id_answer3">Survey choice 3? </label></div><div class="felement ftextarea"><textarea rows="10" cols="80" name="answer3" id="id_answer3"></textarea></div></div>
</div></fieldset>
<fieldset class="hidden"><div>
<div id="fgroup_id_buttonar" class="fitem fitem_actionbuttons fitem_fgroup"><div class="felement fgroup"><input name="submitbutton" value="Submit" type="submit" id="id_submitbutton" /> <input name="cancel" value="Cancel" type="submit" onclick="skipClientValidation = true; return true;" class=" btn-cancel" id="id_cancel" /></div></div>
</div></fieldset>
【问题讨论】:
-
你能把你的输出的视图源贴出来
-
这些字段都在您的表单中吗?
-
是的,所有字段都在表单中,它们在 foreach 循环之外创建时会发布结果,但在通过 foreach 循环创建时不会发布结果
-
不给表格截图,给我们看表格的源代码(HTML),以便我们为您提供帮助
-
我添加了html,格式有点不对