我正在研究HP自治交织的Teamsite DCT,我正在尝试将jQuery Datepicker添加到"selectDate"文本元素中.
基本上,此文本元素是属性min = 1的复制容器的一部分.因此,在表单加载时,复制器容器的第一个实例具有与选择日期文本项相关联的日期选择器.但是当我添加新的replicant容器时,新实例的select Date文本元素没有填充datepicker.
我的DCT代码是 这里显示的一部分
<script language="javascript" location="webserver" type="text/javascript" src="/iw/macysdotcom/formapi/jquery/js/jquery-ui-1.9.2.custom.min.js" />
<script language="javascript" location="webserver" src="/iw/macysdotcom/formapi/library.js"/>
<script language="javascript" location="template-type" src="shy.js"/>
<root-container location="Root" name="Root">
<container name='sequenceContainer' min='1' max='25' default='0'>
<container name='rowContainer' min='1' max='25' default='0'><label><img src='/iw-cc/teamsite/images/bullets/blue_bullet.png'/> Row Container</label>
<item name="startDate" pathid="startDate" required="t" rowcontinue="t">
<label>Start Date</label>
<text required="f" size="30" maxlength="100">
</text>
</item>
<item name="endDate" pathid="endDate" required="t">
<label>End Date</label>
<text required="f" size="30" maxlength="100">
</text>
</item>
</container>
</container>
</root-container>
Run Code Online (Sandbox Code Playgroud)
JS代码如下
/******************************************************************************
// Setting up some variables. From line Number 15 to 29. …Run Code Online (Sandbox Code Playgroud) Drupal 7中动态选择列表的最佳实践是什么?
hook_form_FORM_ID_alter要么
hook_form要么
谢谢
我正在使用drupal form api并使用复选框.我在默认检查值中遇到问题.以下是代码段...
$result = db_query("SELECT nid, filepath FROM {content_type_brand}, {files} WHERE content_type_brand.field_brand_image_fid
= files.fid");
$items = array();
while ($r = db_fetch_array($result)) {
array_push($items, $r);
}
$options = array();
foreach( $items as $i ) {
$imagePath = base_path().$i['filepath'];
$options[$i['nid']] = '<img src="'.$imagePath.'"></img>';
}
$form['favorite_brands'] = array (
'#type' => 'fieldset',
'#title' => t('Favorite Brands'),
//'#weight' => 5,
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
$form['favorite_brands']['brands_options']
= array(
'#type' => 'checkboxes',
'#options' => $options,
'#default_value' => $options_checked,// $options_checked is an array …Run Code Online (Sandbox Code Playgroud) 我想使用Form API上传多个文件.
'#type' => 'file' 提供仅上传一个文件.
$form['picture_upload'] = array(
'#type' => 'file',
'#title' => t(''),
'#size' => 50,
'#description' => t(''),
'#weight' => 5,
);
Run Code Online (Sandbox Code Playgroud)
我怎样才能提供多重上传?
我试图禁用几个字段,并通过hook_page_alter()使它们只读.我能够检查用户是否正在查看页面编辑部分(表单编辑)
$page['content']['system_main']['#node_edit_form'] == TRUE)
Run Code Online (Sandbox Code Playgroud)
然后,当我尝试禁用几个字段时,我发现此代码可以禁用选择列表:
$page['content']['system_main']['field_my_field_name_a_select_list']['und']['#attributes']['disabled'] = TRUE;
Run Code Online (Sandbox Code Playgroud)
但如果我使用以下代码,它不起作用:
$page['content']['system_main']['field_my_field_name_a_select_list']['und']['#disabled'] = TRUE;
Run Code Online (Sandbox Code Playgroud)
我还发现我不能使用相同的代码来禁用文本区域字段:
$page['content']['system_main']['field_my_text_area']['und']['#attributes']['disabled'] = TRUE;
Run Code Online (Sandbox Code Playgroud)
上面的代码不会禁用文本区域,但相同的代码可以禁用选择列表!
然后我尝试了hook_form_alter()做同样的事情,我能够禁用字段,当我从$ page数组中检查渲染数组时,我看到它显示:
$page['content']['system_main']['field_my_field_name_a_select_list']['und']['#disabled'] = TRUE;
Run Code Online (Sandbox Code Playgroud)
但是当我在hook_page_alter()中设置相同的代码时,它不起作用.看起来其他东西会覆盖它,我认为hook_page_alter()是最后一个改变标记的地方.
知道什么是在drupal 7中的hook_page_alter()内部禁用/只读任何类型字段的最佳方法是什么?
谢谢
Drupal的CCK具有允许单个CCK字段通过"添加另一个项目"按钮接受多个值的便利功能,该按钮导致节点中的数据阵列.
我想知道是否有任何简单的方法来适应我所要求的非CCK形式drupal_get_form.我宁愿不用多步形式技术重新发明轮子.
有人做过吗?
我确信这对jQuery专家来说很简单,但我是一个后端人,并且找不到最好的方法来做到这一点.我在Drupal中有两个数组,一个是视图名称列表,另一个是包含每个视图的显示列表的数组.这是填充两个数组的代码:
//load list of views in to array for select lists
$views = views_get_all_views();
$viewnames = array();
$viewdisplays = array();
foreach ($views as $view) {
$viewnames[$view->name] = $view->name;
foreach ($view->display as $k) {
$id = $k->id;
$title = $k->display_title;
$viewdisplays[$view->name]['id'] = $id;
$viewdisplays[$view->name]['title'] = $title;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的表单的片段:
$form['view'] = array(
'#type' => 'select',
'#title' => t('Select the view to be used for display'),
'#options' => $viewnames,
);
$form['view_display'] = array(
'#type' => 'select',
'#title' => t('Select the display of …Run Code Online (Sandbox Code Playgroud) 我还是PHP的新手,甚至是Drupal的Form API的新手.我只是尝试从数据库中填充下拉选择.我认为问题源于我对如何使用多维数组缺乏深刻理解.任何帮助都是真诚的感谢.
我的代码目前是:
//Query DB for Rows
$query = db_select('hp_education_years');
$query->fields('hp_education_years', array('id', 'years',));
$query->orderBy('years', 'ASC');
$results = $query->execute();
//define rows
$options = array();
foreach ($results as $result) {
$options[$result->id] = array(
$result->years,
);
}
$form['education']['year'] = array(
'#type' => 'select',
'#title' => t('Year'),
'#options' => $options,
'#states' => array(
'visible' => array(
':input[name="data_set"]' => array('value' => 'education'),
),
),
);
Run Code Online (Sandbox Code Playgroud)
这返回了一个填充列表,但以粗体和年份(例如2008)显示年份ID.
如何才能显示年份,而不是以粗体显示年份ID,然后是年份.似乎$ option只比我想要的高一级?如果这有道理?
提前谢谢了.
我正在 Drupal 6 中使用表单 API 创建表单。
我需要将一个文本字段和一个选择放在一起。它们用于输入“www.domainname.com”之类的内容。万维网。是固定的。域名部分由用户在文本字段中给出,.com 部分由用户从选择元素中选择。
所以他们应该排成一排。但正如我所见,我可以将这两个表单元素放在一行中,它们位于 div 容器中。
你能帮我吗?谢谢。
这是我供用户上传公司徽标的表单字段:
$form['company_logo'] = array(
'#type' => 'managed_file',
'#title' => t('Company Logo'),
'#description' => t('Allowed extensions: gif png jpg jpeg'),
'#upload_location' => 'public://uploads/',
'#default_value' => $row['companyLogo'],
'#upload_validators' => array(
'file_validate_extensions' => array('gif png jpg jpeg'),
// Pass the maximum file size in bytes
'file_validate_size' => array(1024*1024*1024),
),
Run Code Online (Sandbox Code Playgroud)
我想做的是在他们点击“上传”后显示他们的标志。
我很惊讶这不是表单 API 中内置的一个简单选项......人们怎么能这样做呢?
form-api ×10
drupal-7 ×5
drupal ×3
drupal-6 ×2
file-upload ×2
jquery ×2
php ×2
cck ×1
datepicker ×1
dynamic ×1
field ×1
javascript ×1
selectlist ×1
teamsite ×1
wcm ×1