如何在PHP表单中返回未保存的变量?
解决:感谢@riggsfolly指引我朝着正确的方向。我应该先看看Drupal Forms API。新增类型“项目”的表单元素和它的工作就像一个魅力:如何在PHP表单中返回未保存的变量?
$form['description'] = array('#type'=> 'item', '#title'=> t('To maintain consistency across your course, use the link below to select whether you plan to grade assessments based on points or percentages.'),);
更新:我应该提到这是一个Drupal形式。抱歉。
[PHP新手]我用下面的代码工作,我没有写:
function grading_method_form($form, &$form_state){
$courseId = $_SESSION['courseId'];
$gradingMethodDetails = getCourseGradingMethod($courseId);
$form = array();
$form['cid'] = array('#title'=>NULL,'#type'=>'hidden','#required'=>TRUE,'#value'=>$courseId,);
$form['grading_method'] = array('#title'=>'','#type'=>'select','#default_value'=>$gradingMethodDetails['grading_method'],'#options'=>array(0=>'Percentage',1=>'Points'),);
$form['submit'] = array('#type'=>'submit','#value'=>t('Save Grading Method'));
return $form;
}
我想在这个非常简单的形式,包括对用户说明他们在做什么在这里。我试着添加此:
$form .= "To maintain consistency across your course, use the link below to select whether you plan to grade assessments based on points or percentages.";
以及试图将整个窗体移动到另一种方法,我在别处看到这里我额外串联成线使用$form .= 'My description info.';
无济于事形式。
我想要做的就是在select之前的表单中包含一条语句,通知用户这是干什么用的。
谢谢!
$form
是阵列中的所有你需要做的是另一次出现添加到阵列状
function grading_method_form($form, &$form_state){
$courseId = $_SESSION['courseId'];
$gradingMethodDetails = getCourseGradingMethod($courseId);
$form = array();
$form['cid'] = array('#title'=>NULL,'#type'=>'hidden','#required'=>TRUE,'#value'=>$courseId,);
$form['grading_method'] = array('#title'=>'','#type'=>'select','#default_value'=>$gradingMethodDetails['grading_method'],'#options'=>array(0=>'Percentage',1=>'Points'),);
$form['submit'] = array('#type'=>'submit','#value'=>t('Save Grading Method'));
$form['new_message'] = "To maintain consistency across your course, use the link below to select whether you plan to grade assessments based on points or percentages.";
return $form;
}
当然,那么你将要看看与此函数的结果涉及的代码,并做一些事情适合这个新的发生。
也只是打我呢:( – virepo
@virepo伟大的思想我猜 – RiggsFolly
@RiggsFolly - 完美 - 那是我尝试过的其他东西。但是使用表单数据的函数显然不会对新事件做任何事情。它需要吗?如果使用其他事件,但这只是未经检查和未使用的阵列,是否有问题? – Smartasc
如果我正确理解你的问题。您正试图向$ form数组添加另一个值。
因为它是一个数组,你不能像字符串$ form。='text';
你可以,如果是有人只是一个变量,例如:
$form = 'hello';
$form .= ' this is a form';
echo $form;
这将显示“您好,这是一种形式的”
但是因为你的$形式是一个数组,你必须添加在此liek字符串:
$form['string'] = 'your string';
哪想是这样的:
array(
['string'] => 'your string'
)
而且随着$剩下的形式,它会看起来像:
Array
(
[cid] => Array
(
[#title] =>
[#type] => hidden
[#required] => 1
[#value] => 1
)
[grading_method] => Array
(
[#title] =>
[#type] => select
[#default_value] => 1
[#options] => Array
(
[0] => Percentage
[1] => Points
)
)
[submit] => Array
(
[#type] => submit
[#value] => 1
)
[string] => 'your text string here'
)
也许我需要越来越多的咖啡,但我不明白你的问题:/ –
'$ form'是一个数组'= '是字符串连接 – CD001